Script PowerShell de modification des UPNs des utilisateurs ADs

13 octobre 2012

Active Directory, PowerShell

Dans le cadre de la mise en place de DirSync pour Office 365, il peut être necessaire de modifier l’ensemble des UPNs (UserPrincipalName) des utilisateurs de votre Active Directory. Le script suivant vous permettra de modifier les UPNs en ce basant sur le champ Adresse de messagerie (Mail) de vos utilisateurs pour le préfixe du nouvel UPN et sur un suffixe renseigné directement dans le script.

Il faut, au préalable, avoir créé ce nouveau suffixe. Pour cela, deux méthodes :

- Par interface graphique :

1. Ouvrez le composant Domaines et approbations Active Directory. Pour ce faire, cliquez sur Démarrer, sur Outils d’administration, puis sur Domaines et approbations Active Directory.

2. Dans l’arborescence de la console, cliquez avec le bouton droit sur Domaines et approbations Active Directory, puis cliquez sur Propriétés.

3. Sous l’onglet Suffixes UPN, tapez un autre suffixe UPN pour la forêt, puis cliquez sur Ajouter.

Suffixes UPN

Suffixes UPN

- Par Powershell :

$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
$domaindn = ($domain.GetDirectoryEntry()).distinguishedName

$upnDN = « cn=Partitions,cn=Configuration,$domaindn »

Set-ADObject -Identity $upnDN -Add @{upnsuffixes = « matthieu.fr » }

Voici le script de modification des UPNs :

 $logfile = « H:\log- » + (get-date -uformat « %H%M-%Y%m%d ») + ».txt »
start-transcript $logfile

#_____________________________________________________________

# Import du module Active Directory
import-module ActiveDirectory

# Veuillez saisir le nouvel UPN à renseigner
$NewUPN = « matthieu.fr »

# Récupération de tous les utilisateurs de l’AD dont le champ mail est renseigné
$users = Get-ADUser -Filter {EmailAddress -like « * »} -SearchBase « OU=Société,DC=Exchange2013,DC=fr » -properties mail

# Boucle qui pour chaque utilisateur modifie son UPN
foreach ($user in $users) {

 # Récupération du préfixe présent dans le champ mail
 $Prefixe = $user.mail.Split(« @ »)[0]

 # Création du nouvel UPN ( Préfixe du champ Mail + Nouvel UPN )
 $UPN = « $($Prefixe)@ » + $NewUPN

 # Modification des UPNs
  »Mise à jour de l’UPN sur $($user) à la valeur $($UPN) »
 $user | Set-ADUser -UserPrincipalName $UPN
}
#_____________________________________________________________

stop-transcript

, , , , , , , , , , ,

Pas encore de commentaire.

Laisser un commentaire

Jupiterles3unblog |
Tatooine |
Applicationom |
Unblog.fr | Créer un blog | Annuaire | Signaler un abus | Windows Server Administrator
| Augure
| Agence de communication News