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