commit 211f7900c2416d59761a57e466b560a5a73c79c3 Author: Ichbinus <151060943+Ichbinus@users.noreply.github.com> Date: Wed Apr 24 16:45:36 2024 +0200 Add files via upload diff --git a/Atelier 3 bonus.ps1 b/Atelier 3 bonus.ps1 new file mode 100644 index 0000000..a55ac23 --- /dev/null +++ b/Atelier 3 bonus.ps1 @@ -0,0 +1,70 @@ +$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'" \ No newline at end of file