ユーザー名をファイルパスに追加しようとしています。これにより、ユーザー名を含むディレクトリを作成できます。
これが私のユーザーフォルダの見た目です:
D:\Test Space\ArtP$
シェルでこれを行うと:
PS > $samAccountName = "ArtP"
PS > $user_folder = "D:\Test Space\$samAccountName$"
PS > $user_folder
D:\Test Space\ArtP$
期待どおりに動作します。次に、リモートサーバーでこれを実行することになっているスクリプトでこれを試します。
$samAccountName = "ArtP"
$user_folder = "D:\Test Space\$samAccountName$"
invoke-command -computername remote_server -scriptblock {
new-item -path $user_folder -type directory -Force
}
次のエラーが発生します。
Cannot bind argument to parameter 'Path' because it is null.
+ CategoryInfo : InvalidData: (:) [New-Item], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.NewItemComm
and
私のパスがnullであると言っており、シェルが引用符を解釈する方法とスクリプトがどのようになっているのかについて、いくらかの矛盾があると思います。上記のファイルパスでユーザー名を正しく取得するにはどうすればよいですか?