2017-01-27 3 views
0

Я пытался переименовать домен компьютер со следующим сценарием:Как переименовать домен компьютер в Powershell

$username = "domain\username" 
$password = "password" 
$ip = ((ipconfig | findstr [0-9].\.)[0]).Split()[-1] 
$hostname = (nslookup $ip)[3] 
$hostname = $hostname.replace(" ", "") 
$hostname = $hostname.split(":")[1] 
$hostname = $hostname.split(".")[0].ToLower() 
Rename-Computer -NewName $hostname -DomainCredential $username -Restart -Force 

Это все, что я желаю, кроме ввода пароля, который в данный момент представляет собой учебное пособие обработать. Может ли кто-нибудь посоветовать мне, как получить его для ввода от $password в окно подсказки, чтобы я мог полностью автоматизировать процесс?

В качестве альтернативы, если есть лучший способ сделать это в Powershell, я открыт для другого направления.

ответ

1

Вы можете использовать этот код:

$Username = "DomainUserName" 
$Password = "PlainPassword" | ConvertTo-SecureString -AsPlainText -Force 
$Creds = New-Object System.Management.Automation.PSCredential($Username ,$Password) 


Rename-Computer -NewName $newComputerName -ComputerName $OldName -Restart -DomainCredential $Creds 
+0

Я сделал несколько незначительных изменений, чтобы привести этот инлайн с моим оригинальным над сценарием, но он работал отлично. Большое спасибо за Вашу помощь! – Wulf

+0

Единственное, что нужно добавить (поскольку я использую среду развертывания для использования этого скрипта) добавляет строку в начале: Set-ExecutionPolicy -ExecutionPolicy Bypass. Это позволит ему обойти политику выполнения, которая блокирует несанкционированные скрипты/команды powershell, если она заблокирована через объекты групповой политики. – Wulf

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