2014-10-15 4 views
0

Если я попытаюсь запустить сценарий ниже, я получаю отказ от доступа к WMI. Однако, если я запустил команду в командной строке с использованием тех же учетных данных, она проходит без ошибок. Пожалуйста, объясните, что не так с этим скриптом.

Это прекрасно работает в командной строке:

Rename-Компьютер -ComputerName U1004062-TLL-A -NewName U1004062-TLL-B -LocalCredential десять \ LocalAdmin -DomainCredential десять \ DomainAdmin -force -PassThru - перезагрузка

Это не работает, используя те же учетные данные.

Import-Module activedirectory 
$list = Import-csv C:\temp\machine.csv -Header oldcomputer, newcomputer 

$local = "domain" 
$userlocal = "LocalAdmin" 

#Don't edit below this point 
$passwordlocal = Read-Host -Prompt "Enter password for $userlocal" -AsSecureString 
$usernamelocal = "$local\$userlocal" 
$credentiallocal = New-Object System.Management.Automation.PSCredential($usernamelocal, $passwordlocal) 

$domain = "ten" 
$user = "domainadmin" 

#Don't edit below this point 
$password = Read-Host -Prompt "Enter password for $user" -AsSecureString 
$username = "$domain\$user" 
$credential = New-Object System.Management.Automation.PSCredential($username, $password) 


foreach ($machine in $list) 
{Rename-Computer -ComputerName $machine.oldcomputer -NewName $machine.newcomputer -LocalCredential $credentiallocal -DomainCredential $credential -Force -passthru -Restart} 
+0

Я что-то упустил? Почему вы получаете ошибки WMI, когда вы не используете WMI? В другой заметке попробуйте получить свои учетные данные с помощью '$ credentialLocal = Get-Credential' и' $ credential = Get-Credential'. Сохраняет некоторые строки кода :) Альтернативно, если вы хотите, чтобы имя пользователя было заполнено, используйте '$ credentialLocal = Get-Credential -Message 'Пожалуйста, введите локальные учетные данные' -Username $ username' – ojk

+0

Спасибо за Tidbits of info OJK! По-видимому, cmendlet Rename-Computer использует WMI для внесения изменений на локальную машину. Однако я выяснил проблему. Компания использует ARS, и вы должны запускать все через прокси-сервис, чтобы что-либо сделать. – NobleMan

ответ

0

Я все же выяснил проблему. Компания использует ARS, и вы должны запускать все через консоль ARS и прокси-сервис, чтобы делать что-либо в AD.

Смежные вопросы