ฉันได้เขียนสคริปต์ PowerShell สั้น ๆ นี้เพื่อเปลี่ยนชื่อคอมพิวเตอร์เป็นส่วนหนึ่งของลำดับงาน 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
เมื่อ MDT รันงานนี้มันจะทำงานเป็นผู้ดูแลระบบโลคัล ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามโหลดโมดูลโฆษณา
Warning: Error initializing default drive: 'The server has rejected the client credentials.'.
ฉันสามารถนำเข้าโมดูลได้ดีหลังจากลำดับงานสิ้นสุดลงจากเครื่องเมื่อลงชื่อเข้าใช้ในฐานะผู้ดูแลโดเมน แต่ไม่ได้เป็นผู้ดูแลระบบภายในเครื่อง มีวิธีใดบ้างที่จะเรียกใช้งานลำดับ MDT ในฐานะผู้ดูแลระบบโดเมนหรือยกระดับสิทธิ์ของผู้ดูแลระบบภายในระหว่างลำดับงาน
ขอบคุณล่วงหน้าสำหรับความช่วยเหลือที่คุณสามารถให้ได้
mx
อัปเดต: 10/13/2015
ฉันตัดสินใจที่จะย้ายออกจากการใช้โมดูลโฆษณาภายในสคริปต์ MDT ของฉันและไม่นานหลังจากที่โพสต์สิ่งนี้ได้คิดวิธีอื่นในการทำให้เสร็จ ผลลัพธ์ของฉันกับโมดูลโฆษณานั้นคาดเดาไม่ได้อย่างดีที่สุด ฉันต้องการโพสต์ไว้ที่นี่เพื่อลูกหลาน ฉันเพิ่มสิ่งนี้ลงในโฟลเดอร์ State Restore> Custom Tasks เป็น "Run Powershell Script" ในลำดับงาน MDT ของฉันแล้วเพิ่มงาน Restart Computer โดยตรงภายใต้ มันทำงานได้อย่างมีเสน่ห์ในการปรับใช้ไคลเอนต์กว่า 1600 รายการในปีที่ผ่านมา
$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
หรือPowerShell
ไม่? หากคุณกำลังใช้งาน PowerShell ให้ลองใช้cmd
คำสั่ง: powershell
นอกจากนี้ฉันจะตรวจสอบและดูว่ามีการทำเครื่องหมายในช่อง PowerShell บนหน้าจอการกำหนดค่า boot.wim หรือไม่
-WarningAction SilentlyContinue
เพื่อแทนที่ข้อความในคำสั่ง import-module
$AdminPassword
จากรายการอาร์กิวเมนต์ PSCredential หรือไม่