Ich habe dieses kurze Powershell-Skript geschrieben, um einen Computer als Teil einer MDT-Tasksequenz umzubenennen:
Import-Module ActiveDirectory
$AdminUsername = 'domain.com\administrator'
$AdminPassword = 'password' | ConvertTo-SecureString -asPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $AdminUsername, $AdminPassword
$Domain = Get-ADDomainController –DomainName domain.com -Discover -NextClosestSite
$Site = $Domain.Site
$DomainComputer = Get-WmiObject Win32_BIOS
$Serial = $DomainComputer.SerialNumber
$Computername = $Site + "-" + $Serial
Rename-Computer -NewName $Computername -DomainCredential $cred
Wenn MDT diesen Task ausführt, wird er als lokaler Administrator ausgeführt. Beim Versuch, das AD-Modul zu laden, wird die folgende Fehlermeldung angezeigt.
Warning: Error initializing default drive: 'The server has rejected the client credentials.'.
Ich kann das Modul problemlos importieren, nachdem die Tasksequenz vom Computer beendet wurde, wenn ich als Domänenadministrator angemeldet bin, aber nicht als lokaler Administrator des Computers. Gibt es eine Möglichkeit, die MDT-Tasksequenz als Domänenadministrator auszuführen oder die Berechtigungen des lokalen Administrators während der Tasksequenz zu erhöhen?
Vielen Dank im Voraus für jede Hilfe, die Sie leisten können,
Mx
UPDATE: 13.10.2015
Ich habe mich entschieden, das AD-Modul nicht mehr in meinem MDT-Skript zu verwenden, und kurz nachdem ich dies gepostet habe, habe ich einen anderen Weg gefunden, dies zu erreichen. Meine Ergebnisse mit dem AD-Modul waren bestenfalls unvorhersehbar. Ich wollte es hier für die Nachwelt posten. Ich füge dies dem Ordner "State Restore> Custom Tasks" als "Run Powershell Script" in meiner MDT-Tasksequenz hinzu und füge dann eine Task "Restart Computer" direkt darunter hinzu. Es hat im vergangenen Jahr bei einer Clientbereitstellung über 1600 wie ein Zauber gewirkt.
$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"Domain"
$context = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type, "yourdomain.edu", "domainadmin", "yourpasswordhere")
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($context)
$DC = $domain.FindDomainController().Name
$Prefix = $DC.Substring(0,5)
$DomainComputer = Get-WmiObject Win32_BIOS
$Serial = $DomainComputer.SerialNumber
$Computername = $Prefix + "-" + $Serial
$Password = "yourpasswordhere"
$Username = "yourdomain.edu\domainadmin"
$Computer = Get-WmiObject Win32_ComputerSystem
$Computer.Rename($Computername,$Password,$Username)
quelle
$AdminPassword
Fehlt ihr nicht irgendwie in der PSCredential ArgumentList?CMD
oderPowerShell
? Wenn Sie Powershell ausführen, versuchen Sie den folgendencmd
Befehl:powershell
Außerdem würde ich überprüfen, ob das Powershell-Kontrollkästchen auf dem Startbildschirm für die Konfiguration von WIM-Builds aktiviert ist-WarningAction SilentlyContinue
Sie die Nachricht im Befehl import-module unterdrücken.Antworten:
Wenn Sie nicht als Domänenbenutzer angemeldet sind, müssen Sie ein PSDrive explizit instanziieren und von dort aus die Befehle * -AD * ausführen:
quelle