0

我正在尝试从 ADGroups 中的 ADGroupMembers 获取 CSV 输出,如下所示:

组名、成员 1、成员 2、成员 3...

我使用以下脚本:

Get-ADGroup -Filter * -SearchBase "OU=myou,OU=myou,DC=domain,DC=local" | group {$_.name} | % {
$group = $_.name
$member = (Get-ADGroupMember -Identity $group |
  select @{n='Group';e={$group}}, @{n='Member';e={$_.Name}}) -join ','
  '{0},{1}' -f $group,$member
} | Out-File 'out-file-try.csv'

问题是:我的输出显示没有成员:
Group1,,,,,,,,,,,,,,
Group2,,
Group3,,
Group4,,,,,,,,
Group5,,,,,,,,,,,

任何人都可以帮忙吗?

非常感谢!

4

1 回答 1

0

您对 select-object 和 -join 的使用实际上并没有做您认为他们正在做的事情。您的 select object 语句正在创建一个对象数组,如下所示:

Group    Member
---------------
G1       M1
G1       M2

等等。这些对象基于 pscustomobject 类型。该类型[string]::Empty在字符串上下文中求值(使用 -join 运算符时会发生什么)

将 get-adgroupmember 管道中的选择对象更改为select-object -expandproperty name并保留其他所有内容,您应该会得到您想要的结果。

于 2013-11-14T05:52:08.683 回答