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:

1<Job id=" MigratingUserAccountsBetweenDomainsInSameForest" >
2 <Script language="VBScript" src="templatescript.vbs" />
3<Script language="VBScript" >
4 Option Explicit
5 
6Dim objMigration
7 Dim objUserMigration
8Set objMigration = CreateObject("ADMT.Migration" )
9Set objUserMigration = objMigration.CreateUserMigration
10 
11objMigration.Intraforest = True
12objMigration.SourceDomain = "NetBIOS name or FQDN of source domain"
13  
14objMigration.SourceOu = "Canonical path of source OU"
15objMigration.TargetDomain = "NetBIOS name or FQDN of source domain"
16objMigration.TargetOu = "Canonical path of target OU"
17 
18objUserMigration.TranslateRoamingProfile = True
19objUserMigration.UpdateUserRights = True
20objUserMigration.FixGroupMembership = True
21objUserMigration.MigrateServiceAccounts = False
22'objUserMigration.MigrateGroups = False
23 
24 
25objUserMigration.Migrate admtData, array ("username1", “username2” )
26 
27Set objUserMigration = Nothing
28Set objMigration = Nothing
29</Script>
30</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:

1C:\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