Active Directory Benutzer mit VBScript migrieren

19. Oktober 2018

Migrationen nerven! In regelmäßigen Abständen müssen sich die Administratoren und Systembetreuer in den meisten Unternehmen mit einem „Umzug“ von Clients- oder Serversystemen, Betriebssystemen oder Benutzerkonten „herumschlagen“.

Denn die IT-Mitarbeiter haben oftmals Besseres zu tun  – etwa Logfiles (vollautomatisiert) prüfen (lassen), E-Mails checken oder den vierten Monitor an ihrer Admin-Workstation anschließen. Somit stellt sich die Frage: Warum nicht eine derartige Migration automatisiert durchführen? Das spart Zeit und Nerven, am Schluss müssen die Admins nur noch das (hoffentlich korrekte) Ergebnis überprüfen. Mit den passenden Skripts und einer kleinen Vorbereitung stellt dies kein Problem dar. das LAB-Team von NT4ADMINS liefert dazu einen Vier-Punkte-Plan“ für die Systembetreuer.

 

Im Prinzip müssen sich die Systembetreuer bei der automatisiert gesteuerten Benutzer-Migration per VBScript nur Schritt für Schritt durch die folgenden  Punkte hangeln.

Zuerst ist es wichtig sich mit den entsprechenden Administratorberechtigungen an einem Domain Controller (DC) anzumelden. Falls noch nicht vorhanden, müssen die Administratoren noch ADMT (Active Directory Migration Tool) installieren.

Nun können die Systembetreuer eine Notepad-Textdatei öffnen, und das folgende Skript hineinkopieren:

<Job id=" MigratingUserAccountsBetweenDomainsInSameForest" >
 <Script language="VBScript" src="templatescript.vbs" />
<Script language="VBScript" >
 Option Explicit

Dim objMigration
 Dim objUserMigration
Set objMigration = CreateObject("ADMT.Migration" )
Set objUserMigration = objMigration.CreateUserMigration

objMigration.Intraforest = True
objMigration.SourceDomain = "NetBIOS name or FQDN of source domain"
 
objMigration.SourceOu = "Canonical path of source OU"
objMigration.TargetDomain = "NetBIOS name or FQDN of source domain"
objMigration.TargetOu = "Canonical path of target OU"

objUserMigration.TranslateRoamingProfile = True
objUserMigration.UpdateUserRights = True
objUserMigration.FixGroupMembership = True
objUserMigration.MigrateServiceAccounts = False
'objUserMigration.MigrateGroups = False


objUserMigration.Migrate admtData, array ("username1", “username2” )

Set objUserMigration = Nothing
Set objMigration = Nothing
</Script>
</job>

Nun sollte das Skript mit der Dateiendung „.wsf“ gespeichert werden. danach verschieben es die Administratoren in den entsprechenden Ordner – in dem sich standardmäßig die Datei „templatescript.vbs“ befindet.

Als nächstes öffnen die Systembetreuer die Windows Powershell mit Administratorberechtigungen, und führen den folgenden Befehl aus:

C:\windows\syswow64\csript.exe <scriptfilename.wsf>

Nach der Ausführung des Skripts sollten die getätigten Änderungen überprüft werden. Dazu rufen die Administratoren beispielsweise die entsprechende Funktion in der grafischen Oberfläche (Active Directory Users and Computers) auf, oder prüfen die AD-Benutzer und deren Eigenschaften mit den passenden Powershell-Cmdlets.

Florian Huttenloher / Karim Buzdar

 

Lesen Sie auch