【发布时间】:2015-12-17 10:28:30
【问题描述】:
我想对哈希表使用“splatting”来将可变参数传递给 CmdLet。我要修改以下命令:
New-SmbShare -Name Share$ -Path C:\Folder -ChangeAccess MACHINE\User1
如果我只为ChangeAccess 参数这样做,我最终会得到以下结果:
$Args = @{ChangeAccess = 'MACHINE\User1'}
New-SmbShare -Name Share$ -Path C:\Folder @Args
这很好用。
参数ChangeAcces接受逗号分隔的用户列表,所以如果我想给两个用户共享的更改权限,我会使用以下命令:
New-SmbShare -Name Share$ -Path C:\Folder -ChangeAccess MACHINE\User1,MACHINE\User2
如果我用同样的方式替换这个命令,我会得到这个:
$Args = @{ChangeAccess = 'MACHINE\User1,MACHINE\User2'}
New-SmbShare -Name Share$ -Path C:\Folder @Args
现在命令失败并出现“CimException”。有什么想法可以解决这个问题吗?
【问题讨论】:
-
'MACHINE\User1','MACHINE\User2' -
谢谢,这成功了!我将@Chard 的答案标记为解决方案,因为我无法将您的评论标记为解决方案。
标签: powershell parameter-passing hashtable powershell-cmdlet