我正在尝试将用户名添加到文件路径,以便我可以创建一个包含其用户名的目录。
这就是我希望我的用户文件夹的外观:
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
它是说我的路径是空的,我相信关于 shell 如何解释引号和脚本的方式存在一些差异。如何在上面的文件路径中正确获取我的用户名?