我有一个以下 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,...}
最佳答案
您可以使用计算属性添加自定义代码块,PowerShell 将执行该代码块来计算特定属性的值。
首先,我们知道可以使用以下代码仅选择组中用户的名称:
get-adgroupmember 'Domain Admins'| select Name
现在,我们可以将其嵌入到之前的“选择对象”命令中,如下所示:
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
关于powershell - Get-ADGroup 中的格式成员属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761112/