Comment créer des utilisateurs AD et ajouter des groupes

Windows powershell batch script Microsoft shell

Comment créer des utilisateurs rapidement avec des appartenances à des groupes Active Directory ?

En utilisant un script PowerShell je vous répondrai. Voici deux scripts pour cela. Le premier pour créer les utilisateurs àç la volé en récupérant un fichier CSV avec les informations. Et un second pour ajouter l’appartenance aux groupes AD de chaque utilisateur.

outils hache meul

1 Script comment créer des comptes utilisateurs en lot

 

————————————————————–

Import CSV AD User + Group

————————————————————–

 

[System.Reflection.Assembly]::LoadWithPartialName(« System.windows.forms ») | Out-Null

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog

$OpenFileDialog.initialDirectory = $initialDirectory

$OpenFileDialog.filter = « CSV (*.csv)| *.csv »

$OpenFileDialog.ShowDialog() | Out-Null

$csv = @()

$inputfile = $OpenFileDialog.filename

$csv = Import-Csv $inputfile -Delimiter « ; »

 

$Name $GivenName $sAMAccountName $Password $Path $surname

 

####### Loop through all items in the CSV ######

ForEach ($item In $csv){

#Check if already exist

$name = $Item.name

$givenName = $Item.givenName

$sAMAccountName = $Item.sAMAccountName

$password = $Item.password

$path = $Item.path

$surname = $item.surname

$GroupMember = $Item.GroupMember

New-ADUser -Name $name -GivenName $givenname -Surname $surname -SamAccountName $sAMAccountName -Path $path -PassThru | Set-ADAccountPassword -reset -NewPassword(ConvertTo-SecureString -AsPlainText ‘MOt2passe2019’ -Force) -PassThru |Enable-ADAccount

Write-host $sAMAccountName « creation OK »

}

 

 

 

2 Script comment ajouter l’appartenance aux groupes des utilisateurs

 

###########################################################

COMMENT : This script does a bulk AD group membership

#           add based on an input csv. Delimiter by « ; ».

#           (No check ,error generate if already exist)

###########################################################

 

———————————————–

Function preparation

———————————————–

 

function Check-IsGroupMember{

Param($user,$grp)

$strFilter = « (&(objectClass=Group)(name= » + $grp + »)) »

$objDomain = New-Object System.DirectoryServices.DirectoryEntry

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher

$objSearcher.SearchRoot = $objDomain

$objSearcher.PageSize = 1000

$objSearcher.Filter = $strFilter

$objSearcher.SearchScope = « Subtree »

$colResults = $objSearcher.FindOne()

$objItem = $colResults.Properties

([string]$objItem.member).contains($user)

}

 

 

———————————————–

Add member to AD Group

———————————————–

 

######### Import CSV AD group Member #########

[System.Reflection.Assembly]::LoadWithPartialName(« System.windows.forms ») | Out-Null

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog

$OpenFileDialog.initialDirectory = $InitialDirectory

$OpenFileDialog.filter = « CSV (*.csv)| *.csv »

$OpenFileDialog.ShowDialog() | Out-Null

$Csv = @()

$Inputfile = $OpenFileDialog.filename

$Csv = Import-Csv $InputFile -Delimiter « ; »

 

####### Loop through all items in the CSV ######

ForEach ($item In $csv){

#Check if the OU exists

$Member = $Item.member

$GroupMember = $Item.GroupMember

#Create the group if it doesn’t exist

Try{

Check if the Group already exist

$MemberExist = Get-ADGroup $Member

$GroupeMemberExist = Get-ADGroup $GroupMember

}

Catch{

Write-Host « Group : ‘$Member or $GroupMember’ doesn’t exist. »

}

Finally{

$test = Check-IsGroupMember $Member $GroupMember

IF($test -eq « True »){

Write-host $Member « is already member of » $Member

}

Else{

 

Add-ADGroupMember -Identity $GroupMember -Members $Member | Out-File « c:\temp\ADGrouplog.txt » -append

Write-host $Member « add to » $GroupMember

}#Finally 2

}#Finally 1

}# Foreach

 

 

logo1 ITconsult

Laisser un commentaire