1

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のフィルターが中括弧の中にあることと関係があると思いますが、これを防ぐ方法がわかりません。

数百のリストを手動で更新する必要がないので、どんな助けでも大歓迎です!

4

1 に答える 1

2

拡張可能な文字列を使用してフィルタースクリプトブロックを作成すると機能しますか?

foreach ($Item in @(Import-Csv -Path "ranks.csv")) {
$Rank = $Item.Rank
$filter = [scriptblock]::create("(RecipientType -eq 'UserMailbox') -and (Title -eq '$Rank') -and (Company -eq 'Company')")
Set-DynamicDistributionGroup -Identity "$Rank" -DisplayName "$Rank (NC)" -Name "$Rank (NC)" -RecipientFilter $filter
}
于 2013-03-25T17:39:16.233 に答える