微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Active Directory 查询中的子查询

如何解决Active Directory 查询中的子查询

我正在尝试从 Active Directory 中的 OU 获取用户列表,我尝试获取的字段之一是“经理”字段,以及 AD 中每个用户的其他字段。 manager 字段的返回数据是 distinguisehdName,我想获取 manager 的 displayName。我可以在主查询中进行子查询以获得经理字段的 displayName 吗?

我该怎么办?此外,即使我的过滤器包含特定属性,我也会返回添加到我的数据中的属性,例如 SID用户 distiguishedname,ObjectClass,ObjectGUID。我怎样才能摆脱那些?

这是我正在运行的命令

$result =@()
$result+= Get-ADuser -Filter * -SearchBase "OU=SomeOU,OU=MAinOU,DC=Local,DC=WAN" -properties City,Company,Country,countryCode,Department,Description,displayName,Division,EmailAddress,EmployeeID,extensionAttribute1,extensionAttribute10,extensionAttribute11,extensionAttribute12,extensionAttribute13,extensionAttribute14,extensionAttribute15,extensionAttribute2,extensionAttribute3,extensionAttribute8,Givenname,HomePhone,mail,Manager,MobilePhone,Name,Office,OfficePhone,Organization,SamAccountName,State,StreetAddress,Surname,telephoneNumber,Title,UserPrincipalName

$result | Export-Csv -Path .\Users.csv -Delimiter ';' -NoTypeinformation    

解决方法

构建一个将 DistinguishedName 值映射到相应 ADUser 对象的哈希表:

$Properties = 'City,Company,Country,countryCode,Department,Description,DisplayName,Division,EmailAddress,EmployeeID,extensionAttribute1,extensionAttribute10,extensionAttribute11,extensionAttribute12,extensionAttribute13,extensionAttribute14,extensionAttribute15,extensionAttribute2,extensionAttribute3,extensionAttribute8,GivenName,HomePhone,mail,Manager,MobilePhone,Name,Office,OfficePhone,Organization,SamAccountName,State,StreetAddress,Surname,telephoneNumber,Title,UserPrincipalName' -split ','

$AllUsers = Get-ADuser -Filter * -SearchBase "OU=SomeOU,OU=MAinOU,DC=Local,DC=WAN" -Properties $Properties

$UsersByDN = @{}
$AllUsers |ForEach-Object { $UsersByDN[$_.DistinguishedName] = $_ }

现在您可以使用 $UsersByDN 查找管理器的 ADUser 对象并根据 manager 属性值获取显示名称:

$AllUsers |Select -Property @($Properties;@{Name='ManagerName';Expression={$UsersByDN[$_.manager].DisplayName}})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。