Powershell obtenir et modifier des attributs d’utilisateur Active Directory
Voici un Powershell pour obtenir et/ou modifier des attributs de plusieurs utilisateurs Active Directory en même temps.
D’abord, il faut déclarer sous quelle racine on va se connecter :
$ldap = [ADSI]"LDAP://OU=EMPLACEMENT DES UTILISATEURS, DC=DOMAIN"
On affiche la liste sans filtrage :
$ldap.PSBase.Children distinguishedName : {CN=DISPLAY NAME, OU=EMPLACEMENT DES UTILISATEURS, DC=DOMAIN} Path : LDAP://CN=DISPLAY NAME, OU=EMPLACEMENT DES UTILISATEURS, DC=DOMAIN
On affiche la liste en filtrant sur un utilisateur :
$ldap.PSBase.Children | ? { $_.sAMAccountName -eq "LOGIN" } distinguishedName : {CN=DISPLAY NAME, OU=EMPLACEMENT DES UTILISATEURS, DC=DOMAIN} Path : LDAP://CN=DISPLAY NAME, OU=EMPLACEMENT DES UTILISATEURS, DC=DOMAIN
On affiche la liste en formatant la sortie :
$ldap.PSBase.Children | Format-Table sAMAccountName, msIIS-FTPRoot, msIIS-FTPDir -wrap sAMAccountNamems IIS-FTPRoot msIIS-FTPDir ---------------- ----------- ------------ {LOGIN} {E:\CHEMIN} {\LOGIN}
Pour modifier un attribut, il vous faut lancer ce script avec des droits de modification sur l’AD :
$ldap.PSBase.Children | Foreach { $_.PSBase.InvokeSet("homeDirectory", "CHEMIN") $_.SetInfo() }