Saya telah menulis skrip PowerShell singkat ini untuk mengganti nama komputer sebagai bagian dari urutan tugas 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
Ketika MDT menjalankan tugas ini, ia menjalankannya sebagai administrator lokal. Saya mendapatkan kesalahan berikut ketika mencoba memuat Modul AD.
Warning: Error initializing default drive: 'The server has rejected the client credentials.'.
Saya dapat mengimpor modul dengan baik setelah urutan tugas selesai dari mesin ketika login sebagai admin domain, tetapi tidak sebagai administrator mesin lokal. Apakah ada cara untuk menjalankan urutan tugas MDT sebagai administrator domain atau meningkatkan hak istimewa administrator lokal selama urutan tugas?
Terima kasih sebelumnya atas bantuan yang Anda berikan,
Mx
UPDATE: 10/13/2015
Saya memutuskan untuk menjauh dari menggunakan modul AD dalam skrip MDT saya dan tak lama setelah memposting ini dirancang cara lain untuk menyelesaikan ini. Hasil saya dengan modul AD tidak dapat diprediksi terbaik. Saya ingin mempostingnya di sini untuk anak cucu. Saya menambahkan ini ke folder State Restore> Custom Tasks sebagai "Jalankan Powershell Script" di urutan tugas MDT saya dan kemudian tambahkan tugas Restart Computer langsung di bawahnya. Sudah berfungsi seperti pesona pada penyebaran 1600+ klien tahun terakhir ini.
$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)
sumber
$AdminPassword
di PSCredential ArgumentList?CMD
atauPowerShell
? Jika Anda menjalankan powershell kemudian cobacmd
perintah:powershell
Juga saya akan memeriksa dan melihat apakah kotak powershell dicentang pada layar konfigurasi pembuatan boot.wim-WarningAction SilentlyContinue
untuk menekan pesan pada perintah modul impor.Jawaban:
Ketika Anda tidak masuk sebagai pengguna domain, Anda perlu secara eksplisit instantiate PSDrive dan kemudian jalankan perintah * -AD * dari sana:
sumber