Napisałem ten krótki skrypt programu PowerShell, aby zmienić nazwę komputera w ramach sekwencji zadań MDT:
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
Kiedy MDT uruchamia to zadanie, uruchamia je jako administrator lokalny. Podczas próby załadowania modułu AD pojawia się następujący błąd.
Warning: Error initializing default drive: 'The server has rejected the client credentials.'.
Mogę zaimportować moduł po zakończeniu sekwencji zadań z komputera po zalogowaniu jako administrator domeny, ale nie jako lokalny administrator komputera. Czy jest jakiś sposób na uruchomienie sekwencji zadań MDT jako administrator domeny lub podniesienie uprawnień lokalnego administratora podczas sekwencji zadań?
Z góry dziękuję za wszelką możliwą pomoc,
Mx
AKTUALIZACJA: 10/13/2015
Postanowiłem zrezygnować z korzystania z modułu AD w moim skrypcie MDT i wkrótce po opublikowaniu tego opracowałem inny sposób wykonania tego. Moje wyniki z modułem AD były co najwyżej nieprzewidywalne. Chciałem opublikować go tutaj dla potomności. Dodaję to do folderu Przywracanie stanu> Niestandardowe zadania jako „Uruchom skrypt Powershell” w mojej sekwencji zadań MDT, a następnie dodaj poniżej zadanie Uruchom ponownie komputer. W ubiegłym roku działało to jak urok na wdrożeniu ponad 1600 klientów.
$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)
CMD
lub PowerShell
? Jeśli wykonujesz PowerShell, spróbuj wykonać cmd
polecenie: powershell
Również sprawdziłbym, czy pole PowerShell jest zaznaczone na ekranie konfiguracji kompilacji boot.wim
-WarningAction SilentlyContinue
aby ukryć komunikat w poleceniu import-module.
$AdminPassword
na liście argumentów PSCredential?