Powershell 从CSV导入邮箱名称并将通讯组导出到另一个CSV

Powershell 从CSV导入邮箱名称并将通讯组导出到另一个CSV,powershell,export-to-csv,exchange-server-2010,import-from-csv,Powershell,Export To Csv,Exchange Server 2010,Import From Csv,我需要从CSV文件导入一个电子邮件列表,对于每封邮件,我必须列出它们所属的通讯组,但我无法使其正常工作 My CSV是电子邮件地址列表,一个在另一个下面: mail1 邮件2 邮寄3 我通过手动输入名称,使脚本工作正常。 您能帮我导入/导出CSV部分吗 这就是我到目前为止所做的: 手动: $User=读取主机-提示“用户名” $user\u dn=(获取邮箱$user).区分名称 用户“+$User+”是以下组的成员: foreach($get distributiongroup中的组-res

我需要从CSV文件导入一个电子邮件列表,对于每封邮件,我必须列出它们所属的通讯组,但我无法使其正常工作

My CSV是电子邮件地址列表,一个在另一个下面:

mail1
邮件2
邮寄3
我通过手动输入名称,使脚本工作正常。 您能帮我导入/导出CSV部分吗

这就是我到目前为止所做的:

手动:

$User=读取主机-提示“用户名”
$user\u dn=(获取邮箱$user).区分名称
用户“+$User+”是以下组的成员:
foreach($get distributiongroup中的组-resultsize unlimited){
如果((get distributiongroupmember$group.identity | select-expand DistributionName)-包含$user_dn){$group.name}
}
进口:

$list=导入csv 1.csv
foreach($列表中的条目){
$user=$entry
$user\u dn=(获取邮箱$user).区分名称
用户“+$User+”是以下组的成员:
foreach($get distributiongroup中的组-resultsize unlimited){
如果((get distributiongroupmember$group.identity | select-expand DistributionName)-包含$user_dn){$group.name}
}

如果出现“空管道”错误,则无法进行导出。

给你,我认为这将满足你的需要

get-distributiongroup | ForEach-Object {

$groupName = $_
Get-DistributionGroupMember -Identity $groupname.Name | ForEach-Object{
    [pscustomObject]@{GroupName=$groupname;groupMember=$_.Name}
    }

} | Group-Object -Property GroupMember | Select Name, @{Name=‘Groups‘;Expression={$_.Group.GroupName}}
我们将获得所有Distibution组的一个大列表,然后,针对每个组,解析每个组的完整成员身份。对于我们发现谁是该组成员的每个用户,我们将创建一个自定义对象“username,groupname”。完成后,我们将其发送到Group Object命令,让它挑选出每个唯一的用户,并收集他们的所有成员身份。然后我们可以将其发送到CSV文件,以获得类似这样的输出

#TYPE Selected.Microsoft.PowerShell.Commands.GroupInfo
"Name","Groups"
"Stephen","Group_1 Group_2 OtherFolks"
"Lenna.Paprocki","Group_2 OtherFolks"
"James.Butt","Group_2 OtherFolks"
"Josephine.Darakjy","OtherFolks"

我仍然认为XML文件是一种更好的查看方式,因为您可以在顶部分层XSLT文件,让您的用户非常容易地查看报告,单击用户名并查看他们的所有组,然后根据需要折叠。

请显示不起作用的代码以及完整的错误消息。我认为对于这样的项目,您需要仔细考虑某人将如何使用您的输出结果。例如,您希望此CSV的外观如何?您是否希望有这些列标题?
Username、GroupName、GroupName、GroupName、GroupName
很难想象这对接收报告的最终用户会有什么帮助。XML列表也许更好,这样最终用户可以展开和折叠用户以查看他们的组。我的观点是:确保你仔细考虑。CSV可能不是一种好的输出格式。