Problem:
Bei jedem erneuten Rollout des Betriebssystems am Client erhält dieser einen neuen Namen.
Da der “alte” Name noch im Active Directory vorhanden ist, kann er auch nicht manuell auf den ursprünglichen Namen umbenannt werden…
Ursache:
Das Problem wird dadurch verursacht, dass im Active Directory die “netbootGUID” nicht hinterlegt ist. Auf diese “netbootGUID” wird jedoch beim Rollout per WDS abgezielt – sie ist für das “Wiederfinden” – und damit einhergehend – gleichbleibenden Rechnernamen verantwortlich
Problemlösung:
Die “netbootGUID” kann leider nicht ohne weiteres unter “Active Directory-Benutzer und -Computer” eingetragen werden, da der Reiter “Remoteinstallation” fehlt. Dieser Reiter erscheint erst, wenn eine “netbootGUID” hinterlegt ist!
[unabhängig von dem hier angeschnittenen Problem!]
Auf Domänencontrollern ab 2008 findet sich nach Auswahl von “Ansicht->Erweiterte Features” unter den Eigenschaften des Clients der Reiter “Attribut-Editor”. Dort könnte nun in der Zeile ”netbootGUID” der entsprechende Wert eingegeben werden, mehr dazu nachzulesen bitte hier
Das Problem besteht nun darin, dass hier eine Eingabe im Hexadezimalformat verlangt wird, was die Sache nicht gerade vereinfacht.
Ich habe nun ein paar Zeilen vbscript-Code geschrieben, um die netbootGUID nachträglich ins Active Directory einzutragen:
WICHTIG:
Zuvor muss bei Microsoft die KB-Q250344 heruntergeladen werden, entpackt, und anschließend die DLL registriert werden in einer Command-Shell mittels
regsvr32 ads.dll
'### Save as NetBootGuidInputler.vbs ###### '################################################## '### folgende Zeile bitte anpassen!!! ##### '################################################## myOU = "OU=DV1, OU=klassenpcs, DC=Contoso, DC=com" Clientname = wscript.arguments(0) strInput = "00000000000000000000" & wscript.arguments(1) set cnvt = CreateObject("ADs.ArrayConvert") set objComputer = GetObject("LDAP://CN=" & Clientname & ", " & myOU) objComputer.Put "netbootGUID", cnvt.CvHexStr2vOctetStr(strInput) objComputer.SetInfo
Verwendung:
cscript NetBootGuidInputler.vbs Computer1 5065F3260D70
Computer1 = Name des Rechners
5065F3260D70 = MAC-Addresse
Letzter Tipp:
Eine Liste alle Namen und MAC-Addressen der jeweiligen OU lässt sich sehr einfach mit unserem Tool Adminomat erstellen – erhältich hier