获取广告组成员并以特定方式输出

时间:2019-05-02 15:18:36

标签: powershell active-directory

关于如何从文本文件中获取特定组的成员并将其输出为CSV的方法有很多指南,我现在对此非常精通,但是它们并不完全符合我的标准和我的知识并没有让我越过这个边界。

我有以下

$Filename = "C:\Users\Username\Desktop\AD Groups.txt"
$GroupName = Get-Content $Filename

Get-ADGroupMember -identity $GroupName | select name, $GroupName | Export- 
csv -path C:\Temp\Groupmembers.csv -NoTypeInformation

我想做的是让用户进入文本文件中指定的组中,然后将其输出到如下所示的CSV文件中

GroupName    MemberName
Group 1      All the members of that group ...
Group 2      All the members of that group ...

我发现的所有当前版本都可以这样做

Group Name    MemberName
Group 1       Name1
Group 1       Name 2
Group 2       Name 1
Group 2       Name 2
Group 3       Name 1

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作,这将在一行和一个属性(MemberName)下创建以分号分隔的成员列表。

$Filename = "C:\Users\Username\Desktop\AD Groups.txt"
$GroupNames = Get-Content $Filename

$Output = foreach ($GroupName in $GroupNames) {
    $members = Get-ADGroupMember -Identity $GroupName
    [pscustomobject]"" | Select @{n="GroupName";e={$groupName}},@{n="MemberName"; e={$members.name -join ";"}}
} 

$Output | Export-Csv -path C:\Temp\Groupmembers.csv -NoTypeInformation