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()
}

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.