以下のように、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"