Я пытаюсь массово обновить большое количество списков рассылки с помощью powershell, я написал это до сих пор:
foreach ($Item in @(Import-Csv -Path "ranks.csv")) {
$Rank = $Item.Rank
Set-DynamicDistributionGroup -Identity "$Rank" -DisplayName "$Rank (NC)" -Name "$Rank (NC)" -RecipientFilter {(RecipientType -eq "UserMailbox") -and (Title -eq "$Rank") -and (Company -eq "Company")}
}
Команда Exchange верна, и все работает нормально, за исключением части (Title -eq «$Rank»), которая не анализирует переменную и просто отправляет ее следующим образом:
(RecipientType -eq 'UserMailbox') -and (Title -eq '$Rank') -and (Company -eq 'Company')
Я предполагаю, что это как-то связано с тем, что фильтр для RecipientFilter находится внутри фигурных скобок, но понятия не имею, как это предотвратить.
Любая помощь будет высоко оценена, так как я не хочу вручную обновлять несколько сотен списков!
Работает ли это, если вы создаете блок сценария фильтра, используя расширяемую строку?
Это сработало отлично! Я отмечу функцию scriptblock, так как она очень полезна. — person James C.; 26.03.2013