列出所有用户的所有 MemberOf 权限

列出所有用户的所有 MemberOf 权限

我正在尝试从活动目录中获取列表,其中我只看到 SamAccountName 和来自 MemberOf 选项卡的所有信息。以下代码列出了所有用户,但当涉及到 MemberOf 属性时,它只会列出 1-2 个组,然后是“...”

Get-ADUser -filter * -properties *| 
  Select SamAccountName,Memberof |
  out-file 'Location\UsersExport.txt'

示例输出:

SamAccountName OneUser
成员 {CN=Something,CN=Users,DC=Something,DC=Something, CN=K...

有没有办法只列出所有组名(我只需要 SamAccountName 和所有用户的 MemberOf 组权限)或者我是否缺少某些属性?此外,是否有选项可以删除所有不必要的“CN= DC=”字段,而只显示组名?

答案1

幸运的是,我找到了一个适合我的解决方案。唯一的缺点是,这个命令会将所有会员权限列在不同的行中,所以我必须在导出后进行一些更改。

$list = @()
$Groups = get-adgroup -filter *
foreach ($Group in $Groups){
    $members = get-adgroupmember -identity $group 
    foreach ($member in $members){
        if($member.objectClass -eq "User"){
            $item = new-object PSObject
            $item | Add-member -name 'Group' -value $group.name -MemberType NoteProperty
            $item | Add-member -name 'Member' -value $member.samaccountname -MemberType NoteProperty
            $list += $item
        }
    }

}
    $list | out-file 'UsersExportRdy.txt'

代码来源:https://www.reddit.com/r/PowerShell/comments/49dk1n/export_all_ad_groups_and_members_to_csv/

相关内容