Я хочу сравнить 2 файла, содержащие адреса электронной почты, которые имеют следующую форму:
$Current = Get-Content -Path myfileref
Результат выглядит следующим образом:
email
user1@mydomain.com
user2@mydomain.com
...
$target = Get-Content -Path RefFile
Результаткак это:
PrimarySmtpAddress
user1@mydomain.com
user3@mydomain.com
...
Обратите внимание, что заголовок отличается для 2 файлов
Я делаю:
$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
}
, но ничего не происходит! Подробный режим подсказывает мне
... поиск объекта "user1@mydomain.com" типа "ADrecipient" в корне "$ null" ... окончание обработки
Я почти уверен, что pb происходит от входного объекта, но я хожу по кругу и не могу понять, почему и решить эту проблему.
Входной объект пытается пройти ""user1@mydomain.com" ", а не" user1@mydomain.com ".