English - note to reader: as I'm bilingual, I wanted to write a series of blog posts about Active Directory management with Powershell (4.0) - but in French. I intend to continue blogging in English as well, perhaps with a hybrid migration to Exchange Online - Office 365 (after the staged migration that you can find in my previous posts).
In the title of the blog post, I'll add the prefix "FR (French)" to distinguish them from my posts in English.
Feel free to translate the page with Google Translate or make comments if you'd like me to clarify something (in French or in English).
***
Renommer un utilisateur
Pour cet exemple, j'ai un utilisateur nommé Salma Green. Nous allons la renommer "Salma Brown" (le prénom reste donc le même).
Voici notre point de départ :
PS C:\> Get-ADUser Salma.Green
DistinguishedName : CN=Salma.Green,OU=ExchangeUsers,DC=mynet,DC=lan
Enabled : True
GivenName : Salma
Name : Salma.Green
ObjectClass : user
ObjectGUID : 9fc147de-7c49-4b5d-b1c4-b0b590e05acb
SamAccountName : Salma.Green
SID : S-1-5-21-326661974-301178600-1381666802-1444
Surname : Green
UserPrincipalName : Salma.Green@mynet.lan
Essayons donc de la renommer avec cet applet:
PS C:\> Rename-ADObject "cn=Salma.Green,ou=ExchangeUsers,dc=mynet,dc=lan" -NewName Salma.Brown
Et regardons le résultat :
PS C:\> Get-ADUser Salma.Green
DistinguishedName : CN=Salma.Brown,OU=ExchangeUsers,DC=mynet,DC=lan
Enabled : True
GivenName : Salma
Name : Salma.Brown
ObjectClass : user
ObjectGUID : 9fc147de-7c49-4b5d-b1c4-b0b590e05acb
SamAccountName : Salma.Green
SID : S-1-5-21-326661974-301178600-1381666802-1444
Surname : Green
UserPrincipalName : Salma.Green@mynet.lan
La commande change le nom distingué (DistinguishedName - DN) et le nom (Salma.Brown) mais c'est tout.
Trois noms restent les mêmes :
SamAccountName : Salma.Green
Surname : Green
UserPrincipalName : Salma.Green@mynet.lan
En outre, j'observe que l'applet Get-ADUser retourne toujours des données pour "Salma.Green" et donc semble dépendre non pas de "Name" mais plutôt du SamAccountName. C'est pourquoi je peux taper Get-ADUser Salma.Green et obtenir le même résultat malgré le changement de (certains) noms.
Comment changer les autres paramètres (les autres noms) ?
Essayons maintenant ceci :
PS C:\> Get-ADUser Salma.Green | Set-ADUser -Surname Brown -sAMAccountName Salma.Brown -UserPrincipalName Salma.Brown@mynet.lan
Désormais, la cmdlet Get-ADUser Salma.Green ne retourne aucun résultat:
PS C:\> Get-ADUser Salma.Green
Get-ADUser : Cannot find an object with identity: 'Salma.Green' under: 'DC=mynet,DC=lan'.
Mais si nous faisons une requête pour Salma.Brown, nous avons un résultat et nous pouvons constater que tous les paramètres ont été renommés :
DistinguishedName : CN=Salma.Brown,OU=ExchangeUsers,DC=mynet,DC=lan
Enabled : True
GivenName : Salma
Name : Salma.Brown
ObjectClass : user
ObjectGUID : 9fc147de-7c49-4b5d-b1c4-b0b590e05acb
SamAccountName : Salma.Brown
SID : S-1-5-21-326661974-301178600-1381666802-1444
Surname : Brown
UserPrincipalName : Salma.Brown@mynet.lan
Nous remarquons aussi (voir les exemples ci-dessus) que le SID et l'objectGUID ne changent pas.
Note: il pourrait y avoir encore d'autres paramètres à renommer, si, par exemple, nous utilisions Exchange pour la messagerie et si nous avions donc une adresse à changer.
Renommer un groupe
C'est plus simple que pour l'utilisateur mais il faut, pour le groupe aussi, modifier plus d'un paramètre.
PS C:\> Get-ADGroup "Human Resources"
DistinguishedName : CN=Human Resources,OU=Berlin,DC=mynet,DC=lan
GroupCategory : Security
GroupScope : Global
Name : Human Resources
ObjectClass : group
ObjectGUID : ceedc833-14fb-4e81-a1a8-9dd7351ec30e
SamAccountName : Human Resources
SID : S-1-5-21-326661974-301178600-1381666802-2653
Nous utilisons le même applet que pour l'utilisateur, sauf que nous ciblons un objet de type "groupe" :
PS C:\> Rename-ADObject "CN=Human Resources,OU=Berlin,DC=mynet,DC=lan" -newname HR
Comme pour l'utilisateur, l'applet ci-dessus ne change pas tous les paramètres :
PS C:\> Get-ADGroup "Human Resources"
DistinguishedName : CN=HR,OU=Berlin,DC=mynet,DC=lan
GroupCategory : Security
GroupScope : Global
Name : HR
ObjectClass : group
ObjectGUID : ceedc833-14fb-4e81-a1a8-9dd7351ec30e
SamAccountName : Human Resources
SID : S-1-5-21-326661974-301178600-1381666802-2653
Encore une fois, comme pour l'utilisateur, Rename-ADObject change le paramètre "name" (nom) mais non pas le paramètre "SamAccountName"
Nous devons exécuter cet applet pour achever le changement de nom :
PS C:\> Set-ADGroup "CN=HR,OU=Berlin,DC=mynet,DC=lan" -SamAccountNam "HR"
Ce qui nous donne ceci :
PS C:\> Get-ADGroup HR
DistinguishedName : CN=HR,OU=Berlin,DC=mynet,DC=lan
GroupCategory : Security
GroupScope : Global
Name : HR
ObjectClass : group
ObjectGUID : ceedc833-14fb-4e81-a1a8-9dd7351ec30e
SamAccountName : HR
SID : S-1-5-21-326661974-301178600-1381666802-2653
J'ai remarqué qu'aucun des applets suivants n'a pu renommer le paramètre "SamAccountName" :
PS C:\> Set-ADObject "HR" -sAMAccountName HR
PS C:\> Set-ADObject "HR" -SamAccountName "HR"
PS C:\> Set-ADObject "HR" @{SamAccountName="HR"}
PS C:\> Set-ADObject "CN=HR,OU=Berlin,DC=mynet,DC=lan" -SamAccountName "HR"
Renommer un ordinateur
C'est comparable aux autres objets :
PS C:\> Get-ADComputer PC3 | Rename-ADObject -newname PC4
PS C:\> Get-ADComputer PC3
DistinguishedName : CN=PC4,OU=Clients,DC=mynet,DC=lan
DNSHostName :
Enabled : True
Name : PC4
ObjectClass : computer
ObjectGUID : 816a8176-c433-401c-a812-ad2d7a0ed3c6
SamAccountName : PC3$
SID : S-1-5-21-326661974-301178600-1381666802-2656
UserPrincipalName :
Comme pour les groupes, l'applet ne modifie pas le paramètre "SamAccountName", ce que nous pouvons corriger ainsi :
PS C:\> Get-ADComputer PC3 | Set-ADComputer -SamAccountName PC4$
PS C:\>
PS C:\> Get-ADComputer PC4
DistinguishedName : CN=PC4,OU=Clients,DC=mynet,DC=lan
DNSHostName :
Enabled : True
Name : PC4
ObjectClass : computer
ObjectGUID : 816a8176-c433-401c-a812-ad2d7a0ed3c6
SamAccountName : PC4$
SID : S-1-5-21-326661974-301178600-1381666802-2656
UserPrincipalName :
Le paramètre "SamAccountName" est suivi toujours par un "$" (et sans espace). Quand nous modifions ce paramètre nous pouvons l'ajouter ou bien l'omettre. Dans ce cas-ci, le $ est ajouté automatiquement:
PS C:\> Get-ADComputer PC4 | Set-ADComputer -SamAccountName PC8
PS C:\> Get-ADComputer PC8
DistinguishedName : CN=PC8,OU=Clients,DC=mynet,DC=lan
DNSHostName :
Enabled : True
Name : PC8
ObjectClass : computer
ObjectGUID : 816a8176-c433-401c-a812-ad2d7a0ed3c6
SamAccountName : PC8$
SID : S-1-5-21-326661974-301178600-1381666802-2656
UserPrincipalName :
Renommer une unité d'organisation (OU)
C'est sans doute le cas le plus simple
PS C:\> Get-ADOrganizationalUnit "OU=Administration,DC=mynet,DC=lan"
[...]
DistinguishedName : OU=Administration,DC=mynet,DC=lan
LinkedGroupPolicyObjects : {}
ManagedBy :
Name : Administration
ObjectClass : organizationalUnit
ObjectGUID : 8044c557-73e3-4b56-aa49-17e8812b56d7
[...]
PS C:\> Get-ADOrganizationalUnit "OU=Administration,DC=mynet,DC=lan" | Rename-ADObject -newname Management
PS C:\> Get-ADOrganizationalUnit "OU=Management,DC=mynet,DC=lan"
[...]
DistinguishedName : OU=Management,DC=mynet,DC=lan
LinkedGroupPolicyObjects : {}
ManagedBy :
Name : Management
ObjectClass : organizationalUnit
ObjectGUID : 8044c557-73e3-4b56-aa49-17e8812b56d7
[...]
Ainsi, nous pouvons renommer l'OU en une seule opération.
Thank you for reading the article about FR (French) - Powershell 4.0 - Active Directory management - Rename-ADObject on the blog NEW TECH If you want to disseminate this article on please list the link as the source, and if this article was helpful please bookmark this page in your web browser by pressing Ctrl + D on your keyboard keys.