我是PowerShell的新手,我的第一个模块只是将用户添加到远程计算机上的本地管理员组。它看起来像:
function AddAdmin {
[CmdletBinding()]
Param(
[Parameter (Mandatory=$True,ValueFromPipeline=$True,Position=1) ]
[string[]]$Computer,
[Parameter (Mandatory=$True,ValueFromPipeline=$True,Position=2) ]
[string]$username
)
$Domain = "the domain"
$Group = [ADSI]"WinNT://$Computer/Administrators,group"
$Usertoadd = [ADSI]"WinNT://$Domain/$username,user"
$Group.Add($Usertoadd.Path)
}
所以我可以输入addadmin computername username并添加它。我想对组做同样的事情,我遇到的问题是弄清楚如何设置一个具有多个值/单词的参数。例如,假设我想将一个名为Executive Team的组添加到本地管理员。 addadmin computername执行团队不起作用 - 它只选择执行作为价值。
谷歌搜索了一下,似乎无法解决这个问题,我确信我错过了一些简单的东西。答案 0 :(得分:1)
您只需将多个单词值放入双引号:
addadmin computername "executive team"
答案 1 :(得分:0)
位置从0开始,只是FYI,虽然JPBlanc的回答是正确的(从技术角度来说真的更好),你应该能够将它添加到用户名的参数列表中以获得相同的结果不必把它们放在引号中。
ValueFromRemainingArguments = $true