尝试从 AD 中提取包含所有用户的列表,但名为“禁用用户”的 OU 除外。如何从我的列表中排除该 OU?
这是我到目前为止所拥有的:
Get-ADUser -Filter 'Department -like "*"' -Properties * |
Select -Property DisplayName,GivenName,Surname,Title,Department,Office,OfficePhone |
Export-CSV "C:\ad-users.csv"
This is what I have so far:
Get-ADUser -Filter 'Department -like "*"' -Properties * |
Select -Property DisplayName,GivenName,Surname,Title,Department,Office,OfficePhone |
Export-CSV "C:\ad-users.csv"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
Where-Object
子句来过滤用户 OUYou can use a
Where-Object
clause to filter on the users OU我相信您可以使用
-LDAPFilter
这样做,首先您需要查询要排除的 OU 并获取其DistinguishedName
然后您可以查询所有用户并过滤他们所在的位置DistinguishedName
不包含要排除的 OU。注意:假设只有 1 OU 名称为禁用用户。如果有更多相同的 OU,我建议您对
$ouDN
中排除的 OU 的DistinguishedName
进行硬编码。还值得注意的是,查询所有用户的所有属性(
-Properties *
)效率非常低,您应该始终只查询感兴趣的属性(-属性 attrib1、attrib2 等
)。I believe you could do it this way using
-LDAPFilter
, first you need to query the OU to Exclude and get it'sDistinguishedName
then you can query all users and filter them where theirDistinguishedName
does not contain the OU to exclude.NOTE: This assumes there is only 1 OU with Name Disabled Users. If there are more OUs with the same I would recommend you to hardcode the
DistinguishedName
of the excluded OU in$ouDN
.It's also worth noting that querying all attributes (
-Properties *
) for all users is highly inefficient, you should always query only the attributes of interest (-Properties attrib1, attrib2, etc
).