Voici une commande PowerShell pour lister les emplacements des profils des utilisateurs actifs d'un Active Directory :
Import-Module ActiveDrectory Get-ADUser -Filter 'enabled -eq $true' -Properties ProfilePath, HomeDirectory, HomeDrive | Select Name, SamAccountName, ProfilePath, HomeDirectory, HomeDrive
Pour migrer tous les chemins de profil d'un ancien serveur vers un nouveau :
Get-ADUser -Filter 'HomeDirectory -like "*AncienServeur*"' -Properties HomeDirectory | foreach-object {$_ | Set-ADUser -HomeDirectory ($_.HomeDirectory -replace "AncienServeur", "NouveauServeur") -Confirm:$false}
Restaurer les permissions des utilisateurs dans les dossiers de profil :
Import-Module ActiveDirectory Get-ADUser -Filter 'HomeDirectory -like "*"' -Properties HomeDirectory | ForEach-Object { Write-Output $_.HomeDirectory, $_.SamAccountName $ACL = Get-Acl -Path $_.HomeDirectory $Rule = New-Object System.Security.AccessControl.FileSystemAccessRule $_.SamAccountName, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow" $ACL.AddAccessRule($Rule) Set-Acl -Path $_.HomeDirectory $ACL }