5

以本地管理员身份登录$ComputerNameWindows Server 2008 R2 SP1

这个脚本:

$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"

4

4 回答 4

4

当我想在 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)
于 2016-08-11T14:42:12.903 回答
1

如果您的目标确实是更改管理员帐户的密码(无论是否已重命名——它并不总是命名为“管理员”),我建议使用本文中的脚本:

Windows IT Pro:重置计算机上的本地管理员密码

Reset-LocalAdminPassword.ps1脚本使用 ADSI 连接到远程系统,因此假定允许通过远程计算机的防火墙进行远程管理。

自从 Penton 被出售后,不幸的是,我文章中的所有下载链接都已损坏。我已经在 GitHub 上发布了脚本:

https://gist.github.com/Bill-Stewart/d52bebe553fbfe01deebe745ce650bc0

于 2015-02-04T15:46:53.997 回答
1

没有测试过,但我发现

([adsi]“WinNT://<Local or Remote Computer Name>/<Username>”).SetPassword(“&lt;Password>”)

http://www.petri.co.il/how-to-change-user-password-with-powershell.htm

于 2013-05-13T22:35:03.330 回答
0

对于本地计算机,这有效

$comp=hostname

("WinNT://" + $comp + "/<user_name_to_change_password_for>").SetPassword("<actualpasswordtext>")
于 2013-09-30T15:37:43.823 回答