2013-05-13 147 views
4

登陸到$ComputerName以本地管理員的Windows Server 2008 R2 SP1的PowerShell:更改本地管理員密碼

這個腳本:

$admin=[adsi]("WinNT://" + $ComputerName + "/administrator, user") 
$admin.psbase.invoke("SetPassword", $Password) 
$admin.psbase.CommitChanges() 

在本地運行拋出異常:Exception calling "Invoke" with "2" argument(s):"The network path was not found"

+0

什麼是$計算機名的價值? – 2013-05-14 07:47:01

+0

'$ ComputerName =「WS08-SF-QA-1」' – BaltoStar 2013-05-14 14:05:07

回答

0

對於本地計算機,這工作

$comp=hostname 

("WinNT://" + $comp + "/<user_name_to_change_password_for>").SetPassword("<actualpasswordtext>") 
1

如果你的目標是真正改變Administrator帳戶的密碼(無論它被重新命名 - 它並不總是被命名爲「管理員」) ,我建議使用腳本像一個在這篇文章中:

Windows IT Pro: Resetting the Local Administrator Password on Computers

在本文的下載提供的復位,LocalAdminPassword.ps1腳本使用ADSI連接到遠程系統,S o推測通過遠程計算機的防火牆允許遠程管理。

3

當我想在AD域中的所有服務器上更改本地管理員密碼時,我只是使用了PS遠程控制,它允許從CMD向遠程服務器推送非常基本的命令。

我寫了一個簡短的腳本,我使用powershell從域控制器獲取信息,並基於某些條件將命令推送到服務器。

我覺得如何更改本地管理員密碼非常簡單快捷。唯一的要求是在所有服務器上啓用WinRM。

的腳本如下位置:

Invoke-Command -ScriptBlock {net user administrator "Password01"} -ComputerName (Get-ADComputer -SearchBase "OU=test,OU=servers,DC=lab,DC=com" -Filter * | Select-Object -Expand Name)