用于显示组 AD 中所有用户的 Powershell 脚本

Powershell script to display all Users in a Group AD

我创建了以下内容

Get-ADGroup -Filter * -SearchBase "DC=Domain,dc=.com" -properties name, members | 
    Select-Object *,@{Name='Member';Expression={$_.Members -replace '^CN=([^,]+).+$',''}} | 
    FT Name, Member -Autosize | 
    out-file c:\text.txt

忽略域和 .com,我已经用我的相关信息填充了它们,但为了这里删除它们。

当我 运行 这就是我所追求的 returns 但是当查看组中的成员时,他们都以 ... 结尾并且不显示所有成员

有几处需要更正。让我们按顺序看一下。实际的AD查询可以简化:只需要指定'Members'作为额外的属性来检索,默认带回'Name':

Get-ADGroup -Filter * -SearchBase "DC=Domain,dc=.com" -properties members

鉴于您只想输出两个属性('Name' 和您的自定义属性 'Member'),请使用您的 select 仅检索您想要的属性:

Select-Object Name ,@{Name='Member';Expression={$_.Members -replace '^CN=([^,]+).+$',''}}

删除格式-Table:我们已经在前面的命令中限制了selection。 Format cmdlet 旨在格式化输出到控制台 window 并且最佳实践规定它们应该只用于该目的并且它们应该始终是管道的最后一个元素。

将所有这些通过管道传输到 Export-Csv 将生成您想要的结果:

Export-Csv -NoTypeInformation -Path C:\text.csv

这个对我有用

Get-ADGroupMember -Identity Administrators | Select-Object name, objectClass,distinguishedName | Export-CSV -Path “adgroupmembers.csv”

我在这里找到了这个。

https://www.lepide.com/how-to/export-members-of-a-particular-ad-group-using-poweshell.html#:~:text=The%20PowerShell%20Get%2DADGroupMember%20cmdlet,group%20you%20want%20to%20use.