有没有办法使用 powershell 找出我的域中密码为空白的用户?
我们已经为此设置了策略,但由于管理域不同部分的管理团队太多,我们只想确定是否有任何活动目录帐户的密码为空
答案1
类似这样的事情应该可以为你做:
Get-ADUser -Filter * -SearchBase "OU=SomeOU,DC=mydomain,DC=forest,DC=local" | ForEach {
$_.SamAccountName
(new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null
Write-Host ""
}
这将测试所有用户的空白密码。
或者 - 如果您有一个可用的测试密码(您正在寻找所有“password123”用户 - 请尝试:
(new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "password123").psbase.name -ne $null
我使用它来滚动验证用户,以查找所有已创建但从未登录过的 AD 用户帐户(因此仍使用我们的默认密码)。
我刚刚在一台安装了 PowerShell 4 的 Windows 8.1 机器上测试了它,并且它可以工作 - 但据了解,这在运行 PowerShell 4 和 5(可能还有更老的版本)的任何机器上也可以工作