我想在我的 Active Directory 中搜索所有不符合以下条件的用户:
登录名的首字母与名字的首字母匹配。登录名的其余部分与姓氏匹配。
因此,登录名为 jsmith 的用户 John Smith 是匹配项。我如何查询 AD 以查找不符合此条件的用户?
答案1
以下是使用 Quest AD cmdlet 的 PowerShell 脚本,可用这里。它构造所需的登录名,然后将其与当前登录名进行比较,将无效的登录名写出到控制台窗口。您可以将其输出到文件或任何其他位置。
$users = Get-QADUSer -SizeLimit 0
foreach ($user in $users)
{
$firstinitial = $user.FirstName.Substring(0,1)
$lastname = $user.LastName.ToString()
$compareterm = $firstinitial + $lastname
if ($compareterm -ne $user.LogonName)
{
Write-Host $compareterm "has an invalid logon name."
}
}