我想使用Get-ADUser过滤一些条件,以获得用户,因为我已经将一些与UserPrincipalName相同的值输入到msDS-cloudExtensionAttribute20 20(例如电子邮件地址)中,当我运行这段代码时,它没有显示出任何错误,但没有工作,如何解决这个问题,请帮助。
谢谢
$msDS = "msDS-cloudExtensionAttribute20"
get-aduser -filter {(Enabled -eq $true) -and (UserPrincipalName -eq '$msDS')} -SearchBase 'OU="",OU="",OU="" ,DC=""' -properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet, EmailAddress,"msDS-cloudExtensionAttribute20",UserPrincipalName | where { $_.passwordexpired -eq $false }
发布于 2021-10-14 07:58:55
LDAP
的查询过滤器语法不支持以您希望的方式对多个属性进行任意比较(尽管这样做很酷!)--您可能希望查询所有可能的用户,并使用PowerShell过滤客户端:
Get-ADUser -Filter {Enabled -eq $true} -SearchBase 'OU="",OU="",OU="" ,DC=""' -properties Name, PasswordNeverExpires, PasswordExpired, PasswordLastSet, EmailAddress,"msDS-cloudExtensionAttribute20",UserPrincipalName | Where-Object {
$_.passwordexpired -eq $false -and $_.'msDS-cloudExtensionAttribute20' -eq $_.UserPrincipalName
}
https://stackoverflow.com/questions/69564834
复制相似问题