2013-09-18 1 views
0

Я пытаюсь сделать массовый скрипт для создания групп и сделать некоторые группы членами других групп (дочерние группы). я хочу, чтобы создать группы TestGroup1, TestGroup2 (memberOf TestGroup1), TestGroup3 (memberOf TestGroup1)Как сделать членом группы AD другой группы AD с powershell?

так вот мой CSV-файл, который имеет входные группы:

bulk_import.csv:

GroupName,GroupType,GroupLocation,Member 

TestGroup1,Global,"OU=arSearch", 
TestGroup2,Global,"OU=arSearch",TestGroup1 
TestGroup3,Global,"OU=arSearch",TestGroup1 

и сценарий для создания групп выглядит следующим образом:

bulk_ad_group_creation.ps1

Import-Module ActiveDirectory 
#Import CSV 
$csv = @() 
$csv = Import-Csv -Path "C:\bulk_import.csv" 

#Get Domain Base 
$searchbase = Get-ADDomain | ForEach { $_.DistinguishedName } 

#Loop through all items in the CSV 
ForEach ($item In $csv) 
{ 
    #Check if the OU exists 
    $check = [ADSI]::Exists("LDAP://$($item.GroupLocation),$($searchbase)") 

    If ($check -eq $True) 
    { 
    Try 
    { 
     #Check if the Group already exists 
     $exists = Get-ADGroup $item.GroupName 
     Write-Host "Group $($item.GroupName) alread exists! Group creation skipped!" 
    } 
    Catch 
    { 
     #Create the group if it doesn't exist 
     $create = New-ADGroup -Name $item.GroupName -GroupScope $item.GroupType -Path ($($item.GroupLocation)+","+$($searchbase)) -Member $item.Member 
     Write-Host "Group $($item.GroupName) created!" 
    } 
    } 
    Else 
    { 
    Write-Host "Target OU can't be found! Group creation skipped!" 
    } 
} 

но он всегда печатает, что параметр -Member не может быть найден, пожалуйста, сообщите.

Я использую сервер Windows 2008 R2.

ответ

0

я был в состоянии решить, изменив сценарий следующим образом:

Import-Module ActiveDirectory 
#Import CSV 
$csv = @() 
$csv = Import-Csv -Path "C:\bulk_import.csv" 

#Get Domain Base 
$searchbase = Get-ADDomain | ForEach { $_.DistinguishedName } 



#Loop through all items in the CSV 
ForEach ($item In $csv) 
{ 
    #Check if the OU exists 
    $check = [ADSI]::Exists("LDAP://$($item.GroupLocation),$($searchbase)") 

    If ($check -eq $True) 
    { 
    Try 
    { 
     #Check if the Group already exists 
     $exists = Get-ADGroup $item.GroupName 
     Write-Host "Group $($item.GroupName) alread exists! Group creation skipped!" 
    } 
    Catch 
    { 
     #Create the group if it doesn't exist 
     $create = New-ADGroup -Name $item.GroupName -GroupScope $item.GroupType -Path ($($item.GroupLocation)+","+$($searchbase)) 
     Write-Host "Group $($item.GroupName) created!" 
     if($item.MemberOf -eq ""){ 
     Write-Host "Group don't have parent" 
     }else{ 
      Add-ADGroupMember -Identity $item.MemberOf -Member $item.GroupName 
      } 
    } 
    } 
    Else 
    { 
    Write-Host "Target OU can't be found! Group creation skipped!" 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^