שני אנשים מחוברים, אחד מהם מתחבר למנהרה הארגונית, והדפדפן של החשבון השני מפסיק לטעון דפים שהיו תקינים לפני דקה. באותו מחשב גם הפריט החלף משתמש נעלם ממסך הכניסה, כך שהאדם השני לא יכול לחזור לסשן שלו. מעקב אחר כך מהסשן השני החוצה הוא הדרך המהירה ביותר להבין את זה, כי שום דבר בחיבור של המשתמש הראשון אינו נסתר, ושום דבר בבעיה של המשתמש השני אינו מסתורי ברגע שרואים אילו אובייקטים משותפים.

התחילו בסשן שנשבר

עברו לשולחן העבודה של החשבון השני, לא של הראשון. פתחו שם מסוף והביטו בטבלת הניתוב וברשימת הפותרים בזמן שהסשן האחר מחובר. כל מה שאתם רואים שייך למחשב, לא למשתמש האחר, וזה הרמז הראשון.

Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric | Select-Object -First 12 DestinationPrefix,NextHop,InterfaceAlias
Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object InterfaceAlias,ServerAddresses
Get-NetConnectionProfile | Select-Object Name,NetworkCategory,IPv4Connectivity

אם מסלול ברירת המחדל מצביע כעת על ממשק המנהרה, גם התעבורה של המשתמש השני עוקבת אחריו. אם רשימת הפותרים קיבלה שרת פרטי, השאילתות שלהם הולכות כעת למקום שאליו לא יגיעו כשהמנהרה תיפול. אף אחד מאלה אינו באג בלקוח; אלה ההשלכות של מחסנית רשת אחת משותפת.

הפקודה השלישית מסבירה סוג שני של תלונות. כשמתאם מחליף את המחשב מקטגוריית רשת ציבורית לפרטית, כללי חומת האש המוגבלים לפרופיל משתנים לכל החשבונות בבת אחת, ולכן אפליקציות שהותרו בבוקר עלולות להיחסם אחר הצהריים בלי שאיש נוגע בכלל.

החיבור הוא לכל משתמש, הרשת לא

Windows שומר את אובייקט החיבור בפרופיל של המשתמש שיצר אותו. המתאם הווירטואלי שהוא יוצר, המסלולים שהוא מתקין, ובנוסף שרתי ה-DNS שהוא רושם, כולם בהיקף המחשב כולו. הפיצול הזה הוא המקור של שני התסמינים בכותרת.

זה גם מסביר למה יציאת המשתמש הראשון בדרך כלל מתקנת את השני. הסרת החיבור מסירה את המתאם ואת המסלולים איתו, ומצב המחשב כולו חוזר למה שהיה לפני שמישהו התחבר. זהו אבחון שימושי: אם יציאה מתקנת את החשבון השני, אתם מסתכלים על מצב משותף ולא על פרופיל שבור.

מה שאי אפשר לעשות הוא לתת לסשן השני טבלת ניתוב אחרת. יש טבלה אחת, וכל שני סשנים חולקים אותה. זו תכונה של מערכת ההפעלה ולא מגבלה של לקוח מסוים. זה גם אומר שכל עיצוב שמניח אחרת ימשיך להיכשל, והכשלים ייראו כמו באגים לא קשורים באפליקציה.

מצאו מה הסיר את החלף משתמש, בסדר הזה

החלפה מהירה בין משתמשים נעלמה מסיבה אחרת לגמרי, ולתיקון אין שום קשר לניתוב. עברו על ארבעת המועמדים לפי הסדר, כי הראשון והשני ניתנים לביטול בשניות ולמאוחרים יש מחיר.

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name HideFastUserSwitching
gpresult /h $env:TEMP\gp.html
Get-Service | Where-Object { $_.DisplayName -match 'Logon|Access|Credential' } | Select-Object Status,Name,DisplayName

ערך הרישום הוא ההסבר הפשוט ביותר. אם הוא קיים וקורא 1, הפריט מוסתר על ידי מדיניות, ונתיב מדיניות הקבוצה הוא תצורת מחשב, תבניות מנהליות, מערכת, כניסה, וההגדרה הנקראת על שם הסתרת נקודות הכניסה של החלפה מהירה בין משתמשים. הגדירו אותה ללא מוגדר ורעננו עם gpupdate /force.

הפקודה השנייה אומרת לכם אם המדיניות הזו מסופקת מדומיין ולא נכתבת מקומית. אם היא מופיעה בדוח עם GPO מנצח, עריכת הערך המקומי היא תיקון זמני שחוזר ברענון הבא, והשיחה היא עם מי שמחזיק במדיניות.

הפקודה השלישית מכסה את המנגנון האחר. ספק אישורים או גישה לרשת שמתקין מודול כניסה יכול לדכא את הפריט כל עוד הוא פועל, ולקוחות מסוימים גם רושמים רכיב שמתחיל לפני הכניסה ושומר על תביעה במסך הכניסה. השבתת השירות הזה מחזירה את ההחלפה, והיא גם מסירה את פונקציות הקדם-כניסה או בדיקת המצב שלמענן קיים המודול.

CauseHow to confirmCost of the fix
HideFastUserSwitching policyRegistry value present and set to 1None; remove the policy
Logon module serviceService running under a vendor nameLoses pre-logon and posture behaviour
GINA-era assumptionOnly relevant on very old WindowsNothing to fix; the mechanism is gone

שנו אותו בלי לנעול את עצמכם בחוץ

השאירו סשן ניהולי אחד פתוח בזמן העבודה, ולעולם אל תעשו שינוי במסך הכניסה במחשב שאליו אפשר להגיע רק דרך המסך הזה. נתקו תחילה את הסשנים האחרים, החילו את השינוי, רעננו, ואז בדקו על ידי החלפת משתמשים ולא על ידי אתחול.

רשמו אילו פונקציות בדיקת מצב השבתתם. עדכון לקוח יכול להתקין מחדש או להפעיל מחדש את מודול הכניסה, והתסמין חוזר בלי סיבה ברורה, בדרך כלל באמצע חלון תמיכה כשאף אחד לא זוכר את השינוי הקודם.

במכשיר מנוהל, הניחו שההגדרה מסופקת מלמעלה. בדיקת דוח המדיניות תחילה חוסכת שעה של עריכות מקומיות שחוזרות. היא גם אומרת למי לפנות כשהתשובה היא לא. קריאה שמציינת את המדיניות המנצחת נפתרת מהר פי שניים מזו שמתארת מפתח רישום שמישהו כבר שינה.

אמתו את שני החשבונות ובחרו במודל

בדקו את התוצאה בסדר שבו שני המשתמשים חווים אותה. היכנסו כחשבון השני כשהראשון מנותק, אשרו גישה רגילה, ואז חברו את המנהרה של החשבון הראשון ואשרו שהמסלול הצפוי של החשבון השני הוא עדיין מה שהתכוונתם.

qwinsta
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Select-Object InterfaceAlias,NextHop,RouteMetric
Test-NetConnection -ComputerName intranet.example.internal -Port 443

אם שני החשבונות באמת זקוקים למסלולי רשת שונים בו-זמנית, התשובה הכנה היא שני מחשבים, שתי מכונות וירטואליות, או מדיניות שבה נדרש מסלול אחד בלבד. מנהרה מפוצלת על החיבור המשותף יכולה לצמצם את מה שזז, אבל היא לא יכולה לתת לכל סשן טבלה משלו. להגיע לשם מוקדם זול יותר מאשר לגלות את זה אחרי שלושה ניסיונות עקיפה.

זו ההחלטה לקבל באופן מפורש ולא לטלא סביבה. טבלת ניתוב אחת, רשימת פותרים אחת, פרופיל חומת אש אחד: כל השאר נובע מזה, והתיקון שמכבד את זה עדיין יעבוד בחודש הבא.

מאמרים קשורים