Files
Creation_OU_GG_user_depuis_CSV/Atelier_3_bonus.ps1

70 lines
2.8 KiB
PowerShell

$listing =Import-Csv -Path 'C:\Users\administrator\Desktop\Listing_rh.csv' -Delimiter ","
$listing
foreach ($user in $listing){
if ($user.Nom -notlike "" -and $user.Prénom -notlike "" -and $user.Service -notlike ""){
Write-Host $user
$IDuser = $user.Prénom.Substring(0,1)+$user.Nom
$IDuser
#test OU existante?
$rangementOU = "OU="+$user.Service+",OU=Utilisateurs,OU=Societe,DC=domMT,DC=ad"
$rangementOU
$testOU = Get-ADOrganizationalUnit -Filter "DistinguishedName -eq '$rangementOU'"
if ($testOU -ne $null) {
Write-Host "L'unité d'organisation '$rangementOU' existe."
Write-Host " "
}else {
Write-Host "L'unité d'organisation '$rangementOU' n'existe pas."
Write-Host " "
New-ADOrganizationalUnit -Name $user.Service -Path "OU=Utilisateurs,OU=Societe,DC=domMT,DC=ad"
}
#test Groupe existant?
$groupeuser = "G-"+$user.Service
$testgroupe = Get-ADGroup -Filter "Name -eq '$groupeuser'"
if ($testgroupe -ne $null) {
Write-Host "le groupe '$groupeuser' existe."
Write-Host " "
}
else {
Write-Host "le groupe '$groupeuser' n'existe pas."
Write-Host " "
New-ADGroup -GroupCategory Security -GroupScope Global -Name $groupeuser -Path "OU=Groupes,OU=Societe,DC=domMT,DC=ad"
}
#test modèle existant?
$nonmodele = "Modèle "+$user.Service
$nonmodele
$testmodèle = Get-ADUser -Filter "Name -eq '$nonmodele'"
write-host = $testmodèle
if ($testmodèle -ne $null){
Write-Host "Le modèle d'utilisateur '$nonmodele' existe."
Write-Host " "
}else{
New-ADUser -Path $rangementOU -Enabled:$false -Name $nonmodele
Add-ADGroupMember -Identity $groupeuser -Members $nonmodele
}
$UserPrincipalName = $IDuser+"@domMT.ad"
$UserPrincipalName
$Name = $user.Prénom+" "+$user.Nom
$modelUser = Get-ADUser -Filter "name -eq '$nonmodele'" -Properties *
New-ADUser -Path $rangementOU `
-Enabled:$true `
-UserPrincipalName $UserPrincipalName `
-GivenName $user.Prénom `
-Surname $user.Nom `
-Name $Name `
-SamAccountName $IDuser `
-AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force) `
-ChangePasswordAtLogon:$true
Add-ADGroupMember -Identity $groupeuser -Members $IDuser
}
}
Get-ADUser -Filter *|Select-Object -Property Name
#Get-ADOrganizationalUnit -Filter *
#Get-ADGroup -Filter "Name -like 'G-Interimaire'"