如何使用 get-adgroupmember 从活动目录中提取非默认属性

如何使用 get-adgroupmember 从活动目录中提取非默认属性

当我跑步时:

get-adgroup -filter {displayname -eq'groupname'} | get-adgroupmember | format-table 名称,姓氏,名字,办公电话

返回的唯一字段是默认属性“名称”。其余字段显示为空白。

答案1

如果你真的喜欢单行代码:

Get-ADGroup -Filter {displayName -eq 'groupName'} | Get-ADGroupMember |Foreach-Object {Get-ADUser -Identity $($_.SID) -Properties name,sn,givenName,otherTelephone} | Format-Table name,sn,givenName,otherTelephone

如果您想要进一步操作用户对象,您可能需要将它们存储在一个数组中:

$Group   = Get-ADGroup -Filter {displayName -eq 'groupName'}
$Members = Get-ADGroupMember -Identity $Group
$Users = @()
Foreach-Object -InputObject $Members -Process {$Users += (Get-ADUser -Identity $_.SID -Properties *)}

$Users | Format-Table name,sn,givenName,otherTelephone

答案2

您可以指定一个Properties参数来检索扩展属性。以下是来自TechNet 文档

# Retrieve and display the list of all the properties for an ADGroup object
Get-ADGroup -Identity Administrators -Properties *| Get-Member

# To retrieve the extended properties "OfficePhone" and "Organization" and 
# the default properties of an ADUser object named "SaraDavis"
GetADUser -Identity SaraDavis -Properties OfficePhone,Organization

# To retrieve the properties with LDAP display names of "otherTelephone" and 
# "otherMobile", in addition to the default properties for the same user 
GetADUser -Identity SaraDavis -Properties otherTelephone,otherMobile | Get-Member

答案3

如果您不介意的话我会向您推荐一个工具。


...

我正在使用“Cjwdev Software”的“AD-Info”从 Active Directory 中提取信息。就我而言,标准版正在积极用于分析 AD 并生成自定义报告。就您而言,免费版可能已经可以做到这一点。

答案4

如果你跑

get-adgroup  -filter {displayname -eq 'Consultants'} |get-adgroupmember | format-list *

您首先会发现可用的字段/属性并不多;您想要的字段/属性并不存在。

distinguishedName : CN=buncha junk,DC=net
name              : User's name
objectClass       : user
objectGUID        : some guid
SamAccountName    : SAM account name
SID               : some SID
PropertyNames     : {distinguishedName, name, objectClass, objectGUID...}
PropertyCount     : 6

因此,您无法使用所用的工具执行所需的操作。您可能可以将 SID 或 DN 传递给另一个工具。

相关内容