如何检查所有 AD 用户的密码是否为“空白”?

如何检查所有 AD 用户的密码是否为“空白”?

如何检查 AD 中的所有用户是否为空白密码? 过滤它们....

我知道如何检查所有用户但我无法过滤他们......

以下是我所拥有的:

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

现在我想知道如何过滤输出...

答案1

本地没有办法做到这一点。

DS 内部测试-密码质量:

https://github.com/MichaelGrafnetter/DSInternals/blob/master/Documentation/PowerShell/Test-PasswordQuality.md#test-passwordquality

安装模块-名称 DSInternals -Force

这里还有一个使用 DSInternals 的免费应用程序:

https://thycotic.com/solutions/free-it-tools/weak-password-finder/

答案2

您可以找到 PasswordLastSet 为空的用户:

Get-ADUser -Filter * -SearchBase "OU=SomeOU,DC=mydomain,DC=forest,DC=local" -Properties PasswordLastSet | where { $_.PasswordLastSet -eq $null}

答案3

您可以使用以下内容以 True 或 False 的结果来表明用户是否拥有空白密码:

Get-ADUser -Filter * -SearchBase "OU=someOU,DC=your,DC=domain" | ForEach {    $_.SamAccountName    (new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null    Write-Host "" }

相关内容