2016-11-14 7 views
0

以下のコードを使用して、1つのグループにユーザーを追加できました。複数のセキュリティグループにユーザーを追加する

Get-Aduser -filter 'company -eq "1480"' | %{Add-ADGroupMember "HS Students" $_.SamAccountName} 

私は複数のグループにユーザーを追加したいと思います。 HSとHSの学生。

ご協力いただければ幸いです。ので、私の作成ユーザースクリプトの一番下に追加

EDIT 1

は私に、ユーザーが既に私が追加しようとしているグループの一部であるメッセージを与えます。それが起こっている理由。

foreach ($User in $ADUsers) 
    { 
    #Read user data from each field in each row and assign the data to a variable as below 

$Username = $User.ID 
$Password = $User.BDATE 
$Firstname = $User.FNAME 
$Lastname = $User.LNAME 
$Department = $User.GRD 
$Company = $User.SCHID #This field refers to the OU the user account is to be moved to 

# Choose OU 
Switch ($Company) 
{ 
    "1480" {$OU = 'OU=students,OU=users,ou=hs,dc=clasd,dc=net'} 
    "1479" {$OU = 'OU=students,OU=users,ou=elem,dc=clasd,dc=net'} 
} 

#Check to see if the user already exists in AD 
if (Get-ADUser -F {SamAccountName -eq $Username}) 
{ 
    #If user does exist, give a warning 
    Write-Warning "A user account with username $Username already exist in Active Directory." 
} 
else 
{ 
    #User does not exist then proceed to create the new user account 
    "Processing started (on " + $date + "): " | Out-File $log -append 
    "--------------------------------------------" | Out-File $log -append 

    #Account will be created in the OU provided by the $OU variable read from the CSV file 
    New-ADUser ` 
     -SamAccountName $Username ` 
     -UserPrincipalName "[email protected]" ` 
     -Name "$Firstname $Lastname" ` 
     -GivenName $Firstname ` 
     -Department "$Department" ` 
     -Company "$Company" ` 
     -EmailAddress "[email protected]" ` 
     -Surname $Lastname ` 
     -Enabled $True ` 
     -Scriptpath "login.vbs" ` 
     -DisplayName "$Firstname $Lastname" ` 
     -Path $OU ` 
     -AccountPassword (convertto-securestring $Password -AsPlainText -Force) ` 
     -ChangePasswordAtLogon $true 

    #Start-Sleep 5 

    # Add User to Groups 
    Get-Aduser -filter 'company -eq "1480"' | % { Add-ADGroupMember "HS Students" $_.SamAccountName; Add-ADGroupMember "HS" $_.SamAccountName } 

} 

}

答えて

0

だから、最初のコマンドの後に;を追加する必要があります。

Get-Aduser -filter 'company -eq "1480"' | % 
{ Add-ADGroupMember "HS Students" $_.SamAccountName; Add-ADGroupMember "HS" $_.SamAccountName } 

あなたが本当にしたい場合は、そのはちょうど私がそれをフォーマットし道をよりよい探して、1つのライナーとしてそれを使用することができます。

+0

ありがとうございました。それはうまくいくはずです。グループを作成したときにユーザーを追加すると、そのグループにユーザーが既に追加されていることがわかります。私の編集を参照してください。その場合には –

+0

を答えとしてマークする必要があります;)2番目の質問については、なぜそれがどういうことをしているのか分からず、コードで判断してはいけません。 – 4c74356b41

関連する問題