0

以下のスクリプトを使用して 2 つの列からプルしようとしていますが、エラーが発生し続けます。

Set-DistributionGroup : オブジェクト '@{d lgroup=group1; のため、操作を実行できませんでした。manager=user1}.dlgroup' が「サーバー」に見つかりませんでした

csv ファイルは、標準グループ、ユーザー グループ 2、ユーザー 2 です。

import-csv "dls.csv" | foreach {
   set-distributiongroup -identity "$_.dlgroup" -managedby "$_.manager"
}

@{ とは何ですか? 出力が @{d lgroup=group1; と表示されるのはなぜですか? manager=user1}.dlgroup? 同じ問題で二重引用符を使用してみました

4

2 に答える 2

2

引用符を削除します。

set-distributiongroup -identity $_.dlgroup -managedby $_.manager

引用符で囲むと、PowerShell は二重引用符で囲まれた文字列内に埋め込まれた変数を展開し、表示されるもの (@{...} など) から、$_ が 2 つのプロパティを持つオブジェクトであることがわかります。

于 2013-06-18T14:29:16.923 に答える
0

SubExpressions を使用する必要があるかもしれません (今はテストする機会がありません)。

Import-CSV "dls.csv" | ForFach {
    Set-Distributiongroup -identity "$($_.dlgroup)" -managedby "$($_.manager)"
}
于 2013-06-18T14:30:25.777 に答える