当我跑步时:
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 传递给另一个工具。