powershell - 使用Powershell和ADSI设置本地密码

标签 powershell wmi

我正在尝试在Windows 2008服务器上自动设置一堆本地用户帐户的密码。我已经尝试了一些方法,并且如果我不对用户名使用变量,则可以这样做:

 $user = [adsi]"WinNT://$computer/SomeUserName"

我的脚本块在下面...任何想法我在做什么错?
$accounts = Get-Content c:\userlist.txt
$computer = SomeComputerName
$password = "MyPassword"
Foreach($account in $accounts)
{
 $user = [adsi]"WinNT://$computer/$account"
 $user.SetPassword("$Password")
 $user.SetInfo()
}

当我为用户使用$ account变量时(从文本文件列表中),我得到的错误是:
The following exception occurred while retrieving member "SetInfo": "The group name could not be found.

谢谢你的帮助...

最佳答案

看来您的计算机尝试将$account值解析为本地组名。

您可以通过在帐户名后面加上逗号和字符串user来指定它为所需的User object:

$user = [adsi]"WinNT://$computer/$account,user"

关于powershell - 使用Powershell和ADSI设置本地密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549493/

相关文章:

powershell - Invoke-Item cmdlet 能否启动带参数的可执行文件?

Powershell,按文件名末尾的版本号对文件列表进行排序?

java - 以毫秒为单位解析 CIM_DateTime 到 Java Date

powershell - 如何从输出中删除括号/弯曲括号-Powershell

powershell - 有没有办法在 powershell 中通过 start-process 传递 echo 参数?

powershell - PowerShell 可以在开发人员的工作站之间同步 Nuget 包吗?

c++ - 在 C++ 代码中调用 WMIC 命令

powershell - 如何使用Powershell扩展音量?

c# - 获取独立于文化(区域设置)的 WMI 属性

c# - 如何使用 C# 清除网络接口(interface) (nic) 的默认网关