我有一个以下PowerShell命令,它对我有用,给我我需要的结果(有关AD组及其成员的详细信息)
Get-ADGroup -Filter * -Properties * -SearchBase "CN=Users,DC=domain,DC=com" |
Select-Object -Property Name, Description, GroupCategory, Members |
Format-Table -AutoSize
但我想将Members
属性格式化为仅显示用户的DisplayName
,而不是整个LDAP路径。
Members属性的输出是:
{CN=John Doe,CN=Users,DC=domain,DC=com, CN=Jane Doe,CN=Users, DC=domain, DC=com,...}
答案 0 :(得分:5)
您可以使用Calculated属性添加PowerShell将执行的自定义代码块,以计算特定属性的值。
首先,我们知道我们可以使用以下代码选择组的用户名称:
get-adgroupmember 'Domain Admins'| select Name
现在,我们可以将它嵌入到我们之前的Select-Object命令中,如下所示:
RegularProperty1,RegularProperty2,@{Name='Column Heading';Expression={<code to run>}}
要将其添加到原始选择语句中:
Name, Description, GroupCategory, @{Name='Members';exp={Get-adgroupmember $_.Name | Select -expand Name}}
完成的结果如下所示:
Get-ADGroup -Filter * -Properties * |
Select-Object -Property Name, Description, GroupCategory,`
@{Name='Members';exp={Get-adgroupmember $_.Name | Select -expand Name}} |
Format-Table -AutoSize