2014-04-23 16 views
0

我是新來的powershell和我的第一個模塊是簡單地將用戶添加到遠程計算機上的本地管理員組。它看起來像: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用戶名,它會被添加。我想爲團體做同樣的事情,我遇到的問題是弄清楚如何設置一個具有多個值/單詞的參數。例如,假設我想將一個名爲Executive Team的組添加到本地管理員。 addadmin computername執行團隊不起作用 - 它只會選擇執行者作爲價值。

谷歌搜索了很多,似乎無法弄清楚這一點,我敢肯定我錯過了一些簡單的東西。

回答

1

你只要把多個單詞值到雙引號:

addadmin computername "executive team" 
+0

謝謝,我現在感覺很蠢。我是這樣複雜:) – libraryatnight

0

位置從0開始,僅供參考,雖然JPBlanc的答案是正確的(並且從技術角度說實話更好),你應該能夠將此添加到用戶名的參數列表中以獲得相同的結果,而不必將它們放在引號中。

ValueFromRemainingArguments = $true