Bonjour,

je veux faire un scripte pour ajouter des utilisateurs d'une organisation vers un groupe (j'ai plusieurs groupes et plusieurs organisation).

Nom : capture 1.PNG
Affichages : 881
Taille : 161,0 KoNom : capture 1.PNG
Affichages : 881
Taille : 161,0 Ko

voila le schéma des organisations et des groupes, je veux ajouter chaque utilisateurs d'organisations a son bon groupes.

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
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.

Nom : Capture.PNG
Affichages : 488
Taille : 59,5 Ko

Merci pour vous aides.