0

以下のように、PowerShell スクリプト内で netapp コマンドを呼び出して、ユーザー名のリストを受け入れ、それぞれに netapp ストレージ ボックスのクォータを割り当てるスクリプトを作成しようとしています。

$names = @("AD\test1", "AD\test2")
foreach ($user in $names) {
    $target = $user
    Invoke-NcSsh -Command 'volume quota policy rule create -vserver FS-ONE -policy-name default -volume testdaffy -type user -target $target -qtree "" -user-mapping off -disk-limit 5MB -soft-disk-limit 3MB -threshold 5MB'
}

コマンドを実行すると、次のエラーが発生します。

PS C:\Windows\system32> C:\Users\user\Desktop\add_quota.ps1

Error: command failed: User name $target not found. Reason: general failure.
Error: command failed: User name $target not found. Reason: general failure.

呼び出すコマンド内で変数 $target を認識して、ループごとにリストから別のユーザーを受け入れるにはどうすればよいですか?

二重引用符を使用して解決:

Invoke-NcSsh -Command "volume quota policy rule create -vserver FS-ONE -policy-name default -volume testdaffy -type user -target $target -qtree """" -user-mapping off -disk-limit 5MB -soft-disk-limit 3MB -threshold 5MB"
4

0 に答える 0