我想修改下面的PowerShell cmdlet以创建包含其成员和别名的批量DL。
使用以下两个cmdlet:
- https://learn.microsoft.com/en-us/powershell/module/exchange/new-distributiongroup?view=exchange-ps
- https://learn.microsoft.com/en-us/powershell/module/exchange/set-distributiongroup?view=exchange-ps
我已经成功地创建了一个DL,当使用下面的代码片段执行时:
$paramNewDistributionGroup = @{
Name = $_.DisplayName
Alias = $_.Alias
PrimarySmtpAddress = $_.PrimarySmtpAddress
DisplayName = $_.DisplayName
RequireSenderAuthenticationEnabled = $False
Members = $_.Members
}
New-DistributionGroup @paramNewDistributionGroup
$paramSetDistributionGroup = @{
Identity = $_.Alias
EmailAddresses = @{ Add = $_.SecondarySMTPAddress }
}
Set-DistributionGroup @paramSetDistributionGroup
字符串
如何修改上面的脚本,使其接受.CSV文件,如下所示:
x1c 0d1x的数据
使用下面来自@mklement的建议代码,由于以下列上的多值条目,它会抛出错误:
SecondarySMTPAddress列:
写入错误消息:无法处理参数“EmailAddresses”的参数转换。无法将值“System.Collections.Generic.Dictionary`2[System.String,System.Object]”转换为类型“Microsoft.Exchange.Data.ProxyAddressCollection”。错误:“地址'Execs@domain.com;boss@domain.com'无效:地址'Execs@domain.com;' boss@domain.com '不是有效的统一消息地址,因此必须指定前缀。”
成员列:
写入错误消息:Ex94914C| Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException|找不到对象“切拉Cat; Maria Aya; Dio O'meara”.请确保拼写正确或指定其他对象。
2条答案
按热度按时间kqlmhetl1#
假设这是本地Exchange?
字符串
我还将假设CSV文件中的成员与以下AD属性之一匹配:
iqih9akk2#
您能否修改已回答的脚本,使成员的列有一个for each循环?我得到相同的错误“Write-ErrorMessage:Ex94914C| Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException|找不到对象“切拉Cat; Maria Aya; Dio O'meara”.请确保拼写正确或指定其他对象。”
这是因为我在一个列行中有多个值,powershell将其视为一个值。