2013-05-06 2 views
1

사용자를 로컬 사용자 그룹에 추가하려면 다음 기능을 사용하고 있습니다. 사용자 배열을 내 컴퓨터의 로컬 그룹에 추가해야합니다.로컬 사용자 그룹에 사용자 추가

The following exception occurred while retrieving member "add":
The group name could not be found.

내가 PowerShell을 새로운 오전 :

function AddUsersToGroup([string]$MachineName,[string]$GroupName,[String[]]$Userarr) 
{ 
    write-host 'write: $Userarr' 
    Foreach($s in $Userarr) 
    { 
     write-host $s 
    } 
    $objOU = [ADSI]"WinNT://$MachineName/$GroupName,group" 
    Foreach($User in $Userarr) 
    { 
     $objOU.add("WinNT://$MachineName/$User,user") 
    } 
} 

[email protected]("Administrator", "NETWORK SERVICE", "LOCAL SERVICE","SYSTEM") 
AddUsersToGroup -MachineName:"localhost" -GroupName:"Comserver Consumer",-Userarr:@("Administrator", "NETWORK SERVICE", "LOCAL SERVICE","SYSTEM") 
AddUsersToGroup -MachineName:"localhost" -GroupName:"Comserver Consumer",-Userarr:@("Administrator", "NETWORK SERVICE", "LOCAL SERVICE","SYSTEM") 

나는 다음과 같은 오류를 얻고있다. 제발 도와주세요 :)

답변

2

문제는 쉼표가 PowerShell 용 배열에 대한 구분 여기

-GroupName:"Comserver Consumer", -Userarr 

입니다.

문제는 매개 변수를 쉼표로 구분하고 PowerShell에서 어느 공간을 차지하게했는지입니다.

더 많은 정보를위한이 질문을 살펴 보자 How do I pass multiple parameters into a function in PowerShell?

/업데이트 여기

는 코드입니다

function AddUsersToGroup([string]$MachineName,[string]$GroupName,[Array]$Users) 
{ 


    $Group = [ADSI]"WinNT://$MachineName/$GroupName,group" 


    Foreach($User in $Users) 
    { 
     Write-Host $User 
     $Group.Add("WinNT://$User,user")  
    } 
} 


[Array][email protected]("Username", "NETWORK SERVICE", "LOCAL SERVICE","SYSTEM") 
AddUsersToGroup -MachineName "localhost" -GroupName "Testgroup" -Users $UserArray 

기다리고 응답을

+0

덕분에 그것을 밖으로 시도하십시오 수정을 위해 :) – user1595214

+0

@ user1595214 업데이트가 여기에 있습니다 :) – Solaflex

+0

언제 내 대답을 수락 언제든지 코드 작동하지 않는 경우, 연락 주시기 바랍니다, 내가 당신을 도울 것입니다 – Solaflex

관련 문제