【发布时间】:2018-10-08 21:56:42
【问题描述】:
我希望比较 2 个包含以下形式的电子邮件地址的文件:
$Current = Get-Content -Path myfileref
结果是这样的:
电子邮件 user1@mydomain.com user2@mydomain.com ...$target = Get-Content -Path RefFile
结果是这样的:
PrimarySmtp地址 user1@mydomain.com user3@mydomain.com ...请注意,两个文件的标题不同
我愿意:
$AddNewMember = Compare-Object -ReferenceObject ($Target.GetEnumerator() -ne "PrimarySmtpAddress") -DifferenceObject ($Current.GetEnumerator() -ne "Mail") |
Where-Object {$_.SideIndicator -contains "==>"}
结果是这样的:
InputObject SideIndicator “user2@mydomain.com” ==> ...注意电子邮件地址前后的“”
那我想用Add-DistributionGroupMember命令:
foreach ($Member in $AddNewMember) {
Add-DistributionGroupMember -Identity $ListName -Member $Member.inputObject -DomainController "SpecificDC.myDomain.com" -Confirm:$false -ErrorAction SilentlyContinu
}
但是什么也没发生!详细模式告诉我
...在根“$null”下搜索类型为“ADrecipient”的对象“user1@mydomain.com” ...结束处理
我很确定 pb 来自输入对象,但我兜兜转转,无法理解为什么并解决这个问题。
输入对象尝试传递“user1@mydomain.com”而不是“user1@mydomain.com”。
【问题讨论】:
-
你可能想看看
Import-Csv。
标签: powershell