מאת: דניאל פטרי, PFE מיקרסופוסט ישראל
לאחרונה נתקלתי בבעיה מעצבנת למדי בעת חיבור RDP לשרתי Windows Server 2008 R2. השרתים (במקרה שלי מדובר היה דווקא ב- Domain Controllers) הפסיקו לאפשר לאדמיניסטרטור להתחבר אליהם מרחוק באמצעות RDP, מה שחייב גישה פיזית לשרת עצמו, שימוש במנגנון ניהול מרחוק אחר (לדוגמה HP iLO ואחרים) או במידה ומדובר במכונה וירטואלית – גישה באמצעות Console הניהול של מוצר הוירטואליזציה הרלוונטי.
חשוב לציין שבמקרה זה לא מדובר בשרתי טרמינל במלוא מובן המילה, אלא בשרתים רגילים שהופעלה בהם האופציה לגישה לניהול מרחוק באמצעות RDP.
אחרי חפירה במאמרים ומקורות מידע נוספים עליתי על פתרון לבעיה, ועל מנת לחסוך מכם את אותה התברברות החלטתי לכתוב על כך פה.
הבעיה
הסימפטומים לתקלה כוללים את הנתונים הבאים:
1. יוזר בעל הרשאות אדמיניסטרטיביות שהיה מסוגל להתחבר מרחוק ולנהל את אותו שרת במשך חודשים ארוכים, לפתע מתלונן על כך שהשרת הפסיק לאפשר לו להתחבר.
הערה: עושה רושם שהתקלה עשוייה להתרחש גם במכונות עם Windows 7 ו- RDP מופעל.
2. בעת החיבור, נפתח חלון ה- MSTSC בצורה תקינה. היוזר מכניס את שם המשתמש והסיסמה, ונראה כאילו החיבור מצליח, אך לפני ששולחן העבודה עולה, קופצת הודעת שגיאה בנוסח הבא:
The connection to the remote computer was broken. This may have been caused by a network error. Please try connecting to the remote server again.
לאחר מכן החיבור נכשל וחלון ה- MSTSC נסגר.
3. בעת בדיקת ה- Services, עולה כי ה- Remote Desktop Service נמצא במצב Stopped.

4. אם מפעילים את ה- Remote Desktop Service מחדש, החיבור מתאפשר שוב לרגע, עד הודעת השגיאה המופיעה בסעיף 2. ה- Service כושל שוב. איתחול השרת פותר, לפעמים, את הבעיה למשך זמן מה.
5. בדיקה ב- Event Viewer מעלה את הממצאים הבאים:
Log Name: Application
Source: Application Error
Date: 04/06/2012 14:11:38
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: <servername>
Description:
Faulting application name: svchost.exe_TermService, version: 6.1.7600.16385, time stamp: 0x4a5bc3c1
Faulting module name: rdpcorekmts.dll, version: 6.1.7600.16952, time stamp: 0x4f1f9e66
Exception code: 0xc0000005
Fault offset: 0x000000000000a793
Faulting process id: 0x22e8
Faulting application start time: 0x01cd4242c6fd4162
Faulting application path: C:\Windows\System32\svchost.exe
Faulting module path: C:\Windows\system32\rdpcorekmts.dll
בנוסף:
Log Name: System
Source: Service Control Manager
Date: 04/06/2012 14:12:12
Event ID: 7011
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <servername>
Description:
A timeout (30000 milliseconds) was reached while waiting for a transaction response from the TermService service.
וגם:
Log Name: System
Source: Service Control Manager
Date: 04/06/2012 14:12:40
Event ID: 7034
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <servername>
Description:
The Remote Desktop Services service terminated unexpectedly. It has done this 4 time(s).
ועוד:
Log Name: System
Source: Service Control Manager
Date: 04/06/2012 14:12:10
Event ID: 7011
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <servername>
Description:
A timeout (30000 milliseconds) was reached while waiting for a transaction response from the UmRdpService service.
הפתרון
הפתרון נשמע מוזר מעט, אבל נסתרות הן דרכי האל… מתברר שמדובר בשני Windows Updates שהותקנו על המערכות, ועצם התקנתם בסדר מסויים גרמה לתקלה:
KB 2621440
KB 2667402
שני עידכונים אלה ירדו אל השרתים, במידה ואיפשרתם עידכון אוטומטי, במסגרת MS012-20, מתישהו סביב אמצע מרץ 2012 (בכפוף להגדרות שלכם).
העידכונים עצמם הם Security Updates מסוג Important ולא Critical, כך שיש סיכוי שאצל חלקכם הם אינם מותקנים. בידקו זאת אצלכם.
אם כן, עלינו להסיר את שני ה- KBים האמורים, ולאתחל את המחשב.
ראשית את KB 2667402:


ואתחל את השרת.

לאחר מכן את KB 2621440:


ולאתחל את השרת.

לאחר האיתחול עלינו להתקין את שני ה- KBים לפי הסדר הבא:
ראשית את KB 2667402 (אם שני העידכונים מופיעים ביחד כמו בצילום מסך זה, אנא סמנו רק את KB 2667402):


אתחלו את השרת:

לאחר מכן את KB 2621440:


אתחלו את השרת:

הבעיה נפתרה.
דניאל פטרי משמש כ- Premier Field Engineer במיקרוסופט ישראל מזה כשנה ועוסק בעיקר ב- Active Directory, Remote Desktop Services ו- Hyper-V. קודם לכן יצר וכתב את אחד מאתרי המידע הפופולריים בעולם - www.petri.co.il, שימש כיועץ עצמאי ללקוחות רבים בארץ ובחו"ל, והחזיק בתואר MVP של מיקרוסופט במשך 8 שנים.