如何在 PowerShell 中扩展此属性

如何在 PowerShell 中扩展此属性

我正在尝试扩展 powershell 中的成员属性,但没有成功 :(

这是我的代码...

Import-Module ActiveDirectory
Get-ADGroup -Filter * -Properties * | 
   Select-Object -Property Name, Description, GroupCategory,`
  @{Name='Members';exp={Get-adgroupmember $_.Name | Select -Expand Name |Select}} |
   format-list -Property Name,  Members, Description, GroupCategory

我想要扩展的 Members 属性

答案1

如果您需要的只是小组成员列表:

Get-ADGroupMember "Remote Desktop Users" -Recursive | Select samaccountname

为您提供帐户名称列表,或

Get-ADGroupMember "Remote Desktop Users" -Recursive | Select name

为您提供用户姓名列表(输入 AD 中)

节省一些时间,通过使用以下命令将输出传输到文件:

高于一切 | Out-File "C:\Users\username\Desktop\RDU_members.txt" -Append

如果您仍想提取该组本身的完整描述,您可以使用:

Get-ADGroup -Filter {name -like "Remote Desktop Users"} 

或者您可以简单地从前两个语句之一中删除选择,以保持相同的输出格式(每个帐户一个块)。

加盐和胡椒调味。希望这能有所帮助。

答案2

你可以做类似的事情:

Import-Module ActiveDirectory   

Get-ADGroup -Filter * -Properties * | ForEach-Object {
        $MyGroup= New-Object PSObject
        Add-Member -InputObject $MyGroup -MemberType NoteProperty -Name "Name" -Value $_.Name
        Add-Member -InputObject $MyGroup -MemberType NoteProperty -Name "Category" -Value $_.GroupCategory
        $Members= Get-ADGroupMember $_.Name | Select-Object -ExpandProperty Name
        $Members= $Members -join "`r`n"
        Add-Member -InputObject $MyGroup -MemberType NoteProperty -Name "Members" -Value $Members
        Write-Output $MyGroup | Format-List
    }

也许您可以根据需要改进它。

相关内容