1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| $liste= Import-Csv -Delimiter "," C:\usersTP_1.csv
$ou= "Langues", "biologie", "EducationPhysique", "SoinsInfermiers",
"Psychologie", "mathematiques","chimie", "physique", "geologie", "Geographie",
"Histoire", "GenieElectrique", "Informatique", "Multimedia", "TechniquesAdministratives",
"TechniquesJudiciaires","SoinsDentaires"
forEach($m in $ou){
$chem= "dc=test,dc=local"
New-ADOrganizationalUnit -Name $m -Path $chem -ProtectedFromAccidentalDeletion $false
}
$gr= "ProfLangues", "Profbiologie", "ProfEducationPhysique", "ProfSoinsInfermiers",
"ProfPsychologie", "Profmathématiques","Profchimie", "Profphysique", "Profgeologie", "ProfGeographie",
"ProfHistoire", "ProfGenieElectrique", "ProfInformatique", "ProfMultimedia",
"ProfTechniquesAdministratives", "ProfTechniquesJudiciaires","ProfSoinsDentaires"
forEach($g in $gr){
$chem1= "cn=users,dc=test,dc=local"
New-ADGroup -Name $g -Path $chem1 -GroupCategory Security -GroupScope Global
}
foreach ($util in $liste) {
$n = ($util.nom).Substring(0,1)
$p= ($util.prenom).Substring(0,1)
$annee = ($util.dateNaissance).substring(0,4)
$mois = ($util.dateNaissance).substring(5,2)
$mdp = $n+$p.ToLower()+$annee + $mois
$nom=$util.nom
$prenom=$util.prenom
$desc=if ($util.coordinateur -eq "oui" ){
" Coordinateur "
}
else {
" Enseignant "
}
$expDate= if (($util.DateExpirCompte) -ne "" ){
[DateTime]$util.DateExpirCompte
}
$OU1="ou="+$util.Dept + ",dc=test,dc=local"
$use=New-ADUser -Name "$nom.$prenom" `
-DisplayName "$nom.$prenom"`
-GivenName $prenom `
-Surname $nom `
-SamAccountName "$nom.$prenom" `
-UserPrincipalName "$nom.$prenom@test.local" `
-OfficePhone $util.ExtensionTel `
-Department $util.Dept `
-EmployeeNumber $util.numEmp `
-Description $desc `
-AccountExpirationDate $expDate `
-Path $ou1 `
-AccountPassword(ConvertTo-SecureString $mdp -AsPlainText -Force) `
-ChangePasswordAtLogon $true `
-Enabled $true `
-PassThru
if ($util.coordinateur -eq "oui"){
Add-ADGroupMember -Identity "CN=Coordinateurs,CN=Users,DC=test,DC=local" -Members $use
}
} # cette partie marche bien
$OUList = @("OU=Langues,DC=test,DC=local", "OU=biologie,DC=test,DC=local")
foreach($l in $gr ) {$v=Get-ADGroup $l |Select-Object -ExpandProperty DistinguishedName `
$UsersList = Foreach($OU in $OUList){ Get-ADUser -Filter * -SearchBase $OU | Select-Object SamAccountName }
Add-AdGroupMember -Identity "$v" -Members $UsersList #cette partie prends les utilisateur des deux OU nommées et il sont ajoutés a tout les autres groupes. choses qui est fausse. |
Partager