Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

O365 : Bug de Synchro après un Hard match

L’utilisateur apparait comme un compte cloud

Après un Hard link, il est normal que le compte reste affiché comme un compte cloud dans O365, même si le compte O365 est bien rattaché au compte Active Directory, ce dernier ne change pas d’état. 

Afin de corriger cela il vous suffit de faire une modification sur l’un des attributs du compte pour qu’il soit de nouveau synchronisé avec AD Connect et enfin réapparaître comme un objet synchronisé avec Active Directory.

O365 : Modification de l’UPN

Dans certain cas de figure (mariage, divorce…) les utilisateurs de l’AD change de nom, ceux qui a pour impact un renommage du compte Active Directory, jusque la pas de problème mais (parce qu’il en faut un) lorsque vous utilisez « AD Connect » pour synchroniser vos utilisateurs locaux (votre Active Directory) avec Office 365 (Azure Active Directory), certains paramètres ne sont pas synchronisés.

Parmi ces paramètres le UserPrincipalName, plus communément appelé UPN ne peut être modifié depuis l’AD et répliqué vers O365.

Pour modifier l’UPN côté O365 vous devrez utiliser la commande Powershell suivante:

Set-MsolUserPrincipalName -UserPrincipalName AncienUPN@mondomaine.com -NewUserPrincipalName NouvelUPN@mondomaine.com

 

 

Remplacer le chemin cible d’un raccourci via powershell

Le script ci-dessous , permet de modifier le chemin cible d’un raccourcis 

Etape 1 : Création d’une variable $nom_intranet  
La variable « $nom_intranet » contenu dans le paramètre ci-dessous,  corresponds au nom du répertoire où se trouve notre fichier ou dossier en « LNK ».
 
Param (
[parameter(Mandatory=$true)][String]$nom_intranet
)
 
Etape 2 :  Déclaration des variables
L’applet de commande Read-Host permet de lire une ligne d’entrée à partir de la console

[string]$ancien_cible = Read-Host « Saisir la valeur a remplacer EX:{\\SRV01}  »             
[string]$nouveau_cible = Read-Host « Saisir la nouvelle valeur EX:{\\SRV02}  »    
 
Etape 2 :  Tratement du script

$raccourcis = Get-ChildItem -Recurse « \\SRV02\intranet\raccourci » -Include *.lnk
$obj = New-Object -ComObject WScript.Shell
ForEach($raccourci in $raccourcis){
 $link = $obj.CreateShortcut($raccourci)
 [string]$link.TargetPath = $link.TargetPath.Replace([String]$ancien_cible,[String]$nouveau_cible)
 [string]$link.Save()
    Write-Host $link.TargetPath -ForegroundColor green