Probleme mit gleichen Security Identifiern (SID) in Windows gibt es schon lange. Eigentlich sollte ein SID einmalig sein, ist sie aber nicht immer. Das Problem ist so alt, wie es geklonte Windows Systeme gibt. Aber was ist das genau, die SID?
Was ist die Windows SID?
Die Windows SID wird bei der Installation von Windows erstellt. Diese SID existiert nur auf dem Computer. Das Computerobjekt im Active Director hat eine eigene SID. Diese Lokale SID soll es ermöglichen jedes Windows eindeutig zu identifizieren. Unteranderem wird Sie für den Microsoft Key Management Service (KMS) genutzt. Also 10 Geräte mit einer SID sind für den KMS nur 1 Gerät. Bevor sich jetzt Sparfüchse freuen, nicht immer klappt in einem solchen Fall die Aktivierung und im Falle einer Lizenzüberprüfung verlässt sich Microsoft nicht darauf.
Auch gibt es weitere Probleme mit doppelten SID. Zum Beispiel übernimmt der WSUS-Client die SID als „SusClientId“. Diese wird aber neu gewürfelt, wenn ich den Schlüssel lösche.
Auch andere Microsoft Dienste nutzen die SID und viel wichtiger: Der Betrieb von mehreren Geräten mit der gleichen SID ist nicht von Microsoft supportet. Im schlimmsten Fall bekomme ich keine Unterstützung bis ich das gelöst habe.
Wer noch mehr zu dem Problem erfahren möchte, dem empfehle ich den englischen Artikel „The Machine SID Duplication Myth (and Why Sysprep Matters)“ von Mark Russinovich.
Wie kann man das Problem mit doppelten Windows SID lösen?
Am einfachsten? Neuinstallieren.
Technisch kann auch ein Sysprep /generalize helfen, aber damit ist das auch eine „neue“ Maschine. Diese muss erneut in die Domäne aufgenommen werden, und….
Auch ist immer die Frage ob nach dem Sysprep noch alles 100% läuft. Hier bleibt auch ein Restrisiko für Seiteneffekte die dadurch verursacht werden, die aber nicht oder nur schwer darauf zurückzuführen sind.
Meine Empfehlung aus über 20 Jahren Microsoft: Neu machen, aber richtig. Statt klonen könnte MDT verwendet werden. Bei VMware gibt es beim Klonen eine extra Checkbox die das System „Generalisiert“ und somit eine neue SID erzeugt.
Wie kann man herausfinden ob es doppelte Windows SID gibt?
Das geht nicht über das Active Directory, auch wenn es einige Artikel (Hier ein Beispiel) gibt die es gerne meinen. Vielleicht meinen die aber auch eine andere SID, man weiß es nicht..
Gerne genannte Attribute sind:
SID: Das ist die SID des Computerobjektes, also die SID für das Gerät in der Domäne
ObjectGUID: Ist die GUID des Computerobjektes im AD
objectSid: Entspricht üblicherweise der SID
SIDHistory: Enthalt alte SID wenn das Objekt migriert wurde, zum Beispiel in eine andere Domäne
Technisch gesehen sind das, bis auf die GUID, auch SID’s, aber nicht die Windows SID. Hier sieht man die Domänen SID, prüfen kann man das, wenn man sich das mal für mehrere Computer anzeigen lässt.
Wo ist die Windows SID in der Registry zu finden?
In der Windows Registry sollte die Windows Sid im Hive HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account liegen, aber selbst als Administrator hat man keinen Zugriff.
Eine Möglichkeit wäre über Sysinternals PSExec als Systemaccount die Berechtigung zu ändern, aber davon rate ich entschieden ab.
Die Windows SID richtig auslesen
Aber ein anderes SysInternal Tool kann helfen, PSGetsid, diese kann unter anderem die Windows SID auslesen. Dazu einfach das Programm starten, dann wird die lokale Windows SID ausgelesen.
Der Vorteil an PSGetsid ist auch, dass es über das Netzwerk die SID auslesen kann, dazu muss der Rechnername mit angegeben werden und das System erreichbar sein.
Remote die Windows SID aller Computer in der Domäne prüfen
Jetzt ist das einzeln etwas aufwändiger zu prüfen, da muss es doch auch einfacher gehen? Ja, ich habe das Ganze in ein PowerShell Skript integriert. Basis war ein Projekt wo wir Probleme beim Prozess für das klonen von Servern hatten. Die einzeilige Variante ist recht einfach:ForEach ($Computer in $(Get-ADComputer -Filter "Enabled -eq 'true'" -Properties name)) { Write-Host "$($Computer.name): $((& .\psgetsid64.exe \\$($Computer.name) -nobanner) | Select-String -Pattern "S-1-5-21-") "}
Nur ein einzeiler? Kein Skript?
Die, die mich kennen, wissen das ich es dabei nicht lassen kann. Also habe ich mich am Wochenende nochmal hingesetzt und es noch etwas ausgearbeitet. So kann ich ja kein Skript anbieten.
Das Skript „get-WindowsSid.ps1“ ist wie immer auf GitHub zum Download verfügbar.
Das Ergebnis sieht so aus:
![Die Windows SID - und ein altes Problem 2 Windows SID mit Skript und PSGetSid auslesen - name FILß1 MINI" VIRAF. Win IQ winle WINIE Win16 Win16 WIN1e WIN1e WINIE WIN16 WIN16 WINIE WIN16 WIN16 WIN1e winle Win 8] WSlJß$ Administrator: Windows PowerSheII 16:ß3 2ß:13 : 29 : 48 14 23:ß9 19 12 14:13 14:15 14:13 : 14 s-1 5-21-• 14:15 14:14 : 14 : 45 14:14 14:14 14:15 14:14 19:12 14:15 14:15 17 14:15 14:15 17 : 43 ß8:15 14:15 : 38 : 43 0:52 1 5-21-' 1ß:ß9 19:11 1ß:19 14 Online True False True True True True True False False True True False False True True True True True True True True True True True True False True True False True True False True True True True True True False True False False False False False False False SID s-1-5-21- s-1-5-21- s-1 5-21- s-1 5-21- s-1-5-21- s-1-5-21- s-1 5-21- s-1-5-21- s-1-5-21- s-1-5-21- s-1-5-21- s-1-5-21- s-1 5-21- s-1 5-21- s-1 5-21- s-1 5-21- s-1-5-21- s-1 5-21- s-1 5-21- s-1 5-21- s-1 5-21- LastLogonDate OperatingSystem OperatingSystemVersion 2371521972 "339595247 '1867689 5669957% 5669957% 5669957% 4øß4837498 278989583 1488691717 0962665116 36764133% 275630164 •72923867 "7587481 32983791B '96084774 "416196154 1B85258141 '8167593 '89257761 3477328447 1153644441 06665269 688529118 9ß45ß6647 234ß36ß519 1661185129 05898131 '767208564 2ß763ß3ß72 22/ß9/2ß22 16/ß8/2ß22 22/ß9/2ß22 22/ß9/2ß22 24/ß9/2ß22 22/ß9/2ß22 15/ß9/2ß22 ß5/ß1/2ß22 ø1/12/2ø21 22/69/2622 22/ß9/2ß22 17/ß4/2ß2ß 24/ß6/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 23/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/09/2622 22/ß9/2ß22 ø8/ß3/2ß22 22/ß9/2ß22 22/89/2822 26/ß8/2ß22 22/ß9/2ß22 22/ß9/2ß22 11/1ß/2ß19 22/ß9/2ß22 24/ß9/2ß22 21/ß9/2ß22 24/ß9/2ß22 23/ß9/2ß22 22/ß9/2ß22 28/ß2/2ß16 23/ß9/2ß22 ß9/ß4/2ß2ß ß1/ß9/2ß22 22/ß8/2ß22 21/ß8/2ß22 22/ß8/2ß22 19/ß9/2ß22 21/ß8/2ß22 19 16 15 18 18 14 22 22 14 18 : 12 32 : 52 : 57 : 27 : 42 : 48 : 39 : 36 :21 : 39 : 48 : 38 : 24 : 19 :17 : 19 : 29 : 48 : 37 : 48 : 42 : 38 : 27 : 57 : 33 : 57 Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Wi ndows Server 2ß19 Standard Il Enterprise Server Server Server Server Server Server Server Server Server Server 2ß19 2ß19 2ß19 2ß22 2ß22 2ß22 2ß16 2ß19 2ß19 2ß19 Standard Standard Standard Standard Standard Standard Datacenter Datacenter Standard Standard la Enterprise Server 2ß19 Standard Server 2ß22 Standard Server 2ß19 Standard Server 2ß19 Standard 18 18 18 18 s- s- Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise Enterprise 7 Professional 8.1 Pro L TSC 2ß16 L TSC LTsa s-1 5-21- s-1 5-21- s-1 5-21- s-1 5-21- s-1 5-21- 1-5-21-„" • (17763) (22622) (17763) (17763) (17763) (28348) (2ß348) (2ß348) (14393) (17763) (17763) (17763) (17763) (17763) (28348) (17763) (17763) (17763) (17763) (18362) (18362) (14393) (17763) (19ß42) (19ß44) (19ß44) (19844) (19844) (17134) (19ß44) (18995) (19ß41) (19ß41) (19ß44) (19841) 6.1 (76ø1) 6.3 (96%) 5.1 (26øa) XP Professional Server 2ß22 Standard Server 2ß19 Standard zzz- zzz- zzz- zzz- 11 11 11 Il 11 18 Enterprise (28348) (17763) (19844) (22øøø) (22øøø) (22øøa) (22621) (22øøø) whenChanged 22/ß9/2ß22 21/ß8/2ß22 22/ß9/2ß22 23/ß9/2ß22 24/ß9/2ß22 23/ß9/2ß22 15/ß9/2ß22 12/ß1/2ß22 ß1/12/2ß21 22/ß9/2ß22 22/ß9/2ß22 17 /ß4/2ß2ø 24/ß6/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 23/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 22/ß9/2ß22 24/ß9/2ß22 ß8/ß3/2ß22 22/ß9/2ß22 22/ß9/2ß22 26/ß8/2ß22 22/ß9/2ß22 22/ß9/2ß22 21/ß6/2ß2ß 22/ß9/2ß22 24/ß9/2ß22 21/ß9/2ß22 24/ß9/2ß22 23/ß9/2ß22 22/ß9/2ß22 ß1/ß2/2ß2ß 23/ß9/2ß22 ß9/ß4/2ß2ß ß1/ß9/2ß22 22/ß8/2ß22 21/ß8/2ß22 22/ß8/2ß22 24/ß9/2ß22 21/88/2822 19 18 14 13:28:14 15 13:16:24 18 28 14:28:11 14 14 22 14 14 21 22 22 14 14 2ø:21](https://infrastrukturhelden.de/wp-content/uploads/2022/09/20220924-SID-PSGestSid-Powershell-skript-1024x603.png?v=1664086348)
Schreibe einen Kommentar