我正在尝试获取没有列出经理的AD用户列表,并在自定义字段usertype
中获取Employee值。
当我运行此命令时,它不会进行筛选,但会为我提供所有帐户-用户、资源等。我可以将usertype
或manager添加到选择字段中,然后查看它是否未正确提取(manager已填充或usertype
不是Employee)。
我需要做哪些更改才能获得正确的数据?
Get-ADUser -Filter * -Properties * | Select Name, SamAccountName, Department
where-object userType -eq 'Employee' -and Manager -eq $null
2条答案
按热度按时间ecbunoof1#
如果自定义
userType
属性为indexed,则在这两种情况下都可以利用Active Directory Filter:简要说明LDAP Filter的功能:
如果自定义属性未编制索引,则必须使用PowerShell完成筛选:
如果您还需要仅查找Enabled用户,则可以将以下内容包括在筛选器中:
至于代码失败的原因,在
Select-Object
语句后面缺少一个管道,当使用Where-Object
过滤多个条件时,我们必须使用脚本块。总之,下面的代码可以工作(但比上面的例子慢得多)。efzxgjgh2#
在可能的情况下,先过滤。一般来说,这样处理要快得多,也容易得多。
如果Manager不支持使用notlike进行过滤,则执行以下操作: