Я написав цей короткий сценарій оболонки, щоб перейменувати комп'ютер як частину послідовності завдань 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 виконує це завдання, він виконує його як локальний адміністратор. Я отримую таку помилку, коли намагається завантажити модуль AD.
Warning: Error initializing default drive: 'The server has rejected the client credentials.'.
Я можу імпортувати модуль просто після завершення послідовності завдань з машини, коли ввійшов як адміністратор домену, але не як локальний адміністратор машини. Чи є спосіб запустити послідовність завдань MDT як адміністратор домену або підняти привілеї місцевого адміністратора під час послідовності завдань?
Заздалегідь дякую за будь-яку допомогу, яку ви можете надати,
Mx
ОНОВЛЕННЯ: 13.10.2015
Я вирішив відмовитися від використання модуля AD в рамках мого сценарію MDT, і незабаром після публікації цього придуманого іншого способу зробити це. Мої результати з модулем AD в кращому випадку були непередбачуваними. Я хотів опублікувати його тут для нащадків. Я додаю це до папки "Відновлення стану"> "Спеціальні завдання" як "Запуск сценарію потужності" в моїй послідовності завдань MDT, а потім додаю завдання "Перезавантажити комп'ютер" безпосередньо під ним. Цього минулого року він працював як принадність для розміщення клієнтів у 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
? Якщо ви виконуєте повноваження, то спробуйте cmd
команду: powershell
Також я би перевірив і побачив, чи встановлено прапорець на панелі встановлення boot.wim на екрані конфігурації boot.wim
-WarningAction SilentlyContinue
придушити повідомлення командою import-module.
$AdminPassword
в PSCredential ArgumentList?