我有一个活动目录服务器,其中用户被分为不同的安全组,我一直在尝试找到一种方法来一次性重置所有用户的密码。
所以一开始我以为我可以使用 dsquery。命令
dsquery group -name "<group>" -uc | dsget group -members -uc
为我获取了所有用户的字符串。这很好,但是当我将输出通过管道传输到文件时,cmd 始终将其保存为 ANSI 文件,无论代码页设置等如何。这损坏了输出,我无法将其加载回来进行循环,而且您无法轻松地将管道程序的输出批量存储到变量中,所以这是不可能的。
powershell 上的 dsquery 根本无法工作。无论有没有 DN,它总是说“找不到目录对象”。(正如这里所见。)。
与powershell 的 AD 模块中的命令Get-ADUser
相同(Get-ADGroup
就像这里描述的一样)。它们要么超时,要么直接退出而没有返回任何内容。没有错误,没有成功消息,什么都没有。当然密码保持不变。
所以问题是:我如何一次更改整个组的密码?
答案1
类似的东西Get-AdGroupMember -Identity 'GroupName' -Recursive
应该让你得到用户列表;如果列表看起来正确,那么Get-AdGroupMember -Identity 'GroupName' -Recursive | Set-AdAccountPassword -Reset -NewPassword 'SomePassword'
应该改变它们全部。