Bonjour,

Je suis actuellement en stage et l'un de mes projets est de créer automatiquement des utilisateurs qui seront mit au bon endroit dans l'Active Directory via un script PowerShell avec un MDP généré aléatoirement, et en ajoutant l'utilisateur dans un ou plusieurs groupe(s)
Je sollicite votre aide sur mon script que j'ai pondu sur plusieurs points, en espérant que vous puissiez m'éclairer.

Le code commence de cette façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
foreach ($user in $users)
{
	$prenom = $user.prenom
	$nom = $user.nom
	$sousgroupe = $user.sousgroupe
	$login = $user.prenom + "." + $user.nom
	$nomcomplet = $user.prenom + " " + $user.nom
	$petitprenom = $prenom.Substring(0,1) 
	$petitnom = $nom.Substring(0,1)
	$initiale = $petitprenom + $petitnom
I)L'utilisation d'un switch pour placer mon utilisateur au bon endroit
Selon l'information rentré dans le fichier CSV, l'utilisateur sera créé au bon endroit car il y a des OU dans des OU
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
switch($user.OU)
	{
		"Admins" {$OU = "OU=Admins, OU=Users, OU=Entreprise, DC=entreprise, DC=lgn"}
		
		"DefaultRacine" {$OU = "OU=Default, OU=Users, OU=Entreprise, DC=entreprise, DC=lgn"}
		"Default3741" {$OU = "OU=3741, OU=Default, OU=Users, OU=Entreprise, DC=entreprise, DC=lgn"}
etc
II)J'ai du mal à utiliser la fonction de recherche pour savoir si l'utilisateur existe déjà ou non
Si l'utilisateur qu'on crée a le même nom + prénom que celui dans la base alors on passe à la création de l'utilisateur suivant
Si l'utilisateur été déjà créé auparavant, on devra récupérer son numéro de matricule en la stockant dans $nummat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
$SearchUser = Get-ADUser -Filter {SamAccountName -eq $login} -SearchBase $OU
	
	if ($SearchUser -ne $login)
	{
		Write-Host "L'utilisateur n'existe pas, création.."
	}
	else
	{
		Write-Host "L'utilisateur " + $nomcomplet + " " + $nummat + " existe déjà*"
		continue
	}
III)Je voudrais savoir comment utiliser la fonction Add-ADGroupeMember car les groupes sont mit dans des OU qui sont eux mêmes dans des OU car il y a une centaine de groupe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
if ($sousgroupe -contains "AD01")
	{
		Add-ADGroupMember -Identity GG_Extenda_Project_Admins -Path "OU=Admins, OU=Groups, OU=Entreprise, DC=entreprise, DC=lgn" -Members $login
	}
	if ($sousgroupe -contains "AD02")
	{
		Add-ADGroupMember -Identity GG_Glory_Project_Admins -Path "OU=Admins, OU=Groups, OU=Entreprise, DC=entreprise, DC=lgn" -Members $login
	}
etc..
IV)Et enfin essayer de se connecter pour vérifier s'il a bien été créé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
try 
	{
		New-ADUser -Name $nomcomplet -SamAccountName $login -UserPrincipalName $login -DisplayName $nomcomplet -GivenName $prenom -Surname $nom -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -Path $OU -Enabled $true
		echo "Utilisateur ajouté :" + $nomcomplet " et le mot de passe: " + password
	}

	catch
	{
		echo "Utilisateur non ajouté :" + $nomcomplet
	}
Merci d'avance pour la lecture de ce post et vos réponses s'il y en a
En vous souhaitant une bonne journée