Sylver SCHORGEN Blog's

Articles, astuces et news sur les technologies Microsoft et plus particulièrement tournant autour de Powershell

[PowerShell - Migration de domaine] Script de migration des groupes et utilisateurs de la ferme SharePoint

Dans le cadre d'une migration SharePoint de domaine, nous avons réinstallé intégralement la ferme SharePoint 2010 d'un client dans un nouveau domaine. Suite à la réinstallation, il fallait reconfigurer l'intégralité des applications de service et restaurer les bases de données de contenu.

Ce post est le premier d'une série dédiée à la migration SharePoint de domaine.

Le "problème" avec les bases de données de contenu était les comptes utilisateurs et les groupes. En effet, suite à la restauration des bases de données de contenu, tous les comptes utilisateurs et les groupes étaient ceux de l'ancien domaine. Il était donc indispensable de migrer les utilisateurs et groupes afin de les faire "matcher" avec le nouveau domaine. Pour cela, plusieurs script ont été réalisés. Le script présenté ci-dessous permet de migrer tous les utilisateurs et groupes au niveau de la ferme SharePoint de destination, après avoir restauré les bases de données de contenu.

Pour ce faire, j'ai réalisé un script PowerShell que vous pourrez trouver ici --> https://github.com/sschorgen/PowerShell/tree/master/SP10_Migrate-SPFromDomain

Ce script a été conçu est exécuté sur SharePoint 2010.

Il est indispensable de constituer 2 fichiers CSV :

  • 1 permettant d'effectuer la correspondance entre les groupes de l'ancien domaine et du nouveau
  • 1 permettant d'effectuer la correspondance entre les utilisateurs de l'ancien domaine et du nouveau

Un exemple de fichier CSV contenant les correspondances groupes:

Un exemple de fichier CSV contenant les correspondances utilisateurs :

Le script est constitué d'une partie effectuant la migration des groupes :

ForEach($Group in $Groups) {
Write-Host " --- MIGRATING GROUP " $Group.oldDomain "-->" $Group.newDomain -ForegroundColor Yellow -NoNewLine
$farm.MigrateGroup($Group.oldDomain, $Group.newDomain)
Write-Host " OK !" -ForegroundColor Green
}

Et d'une autre partie responsable de la migration des utilisateurs :

ForEach($User in $Users) {
Write-Host " --- MIGRATING USER " $User.oldDomain "-->" $User.newDomain -ForegroundColor Yellow -NoNewLine
$farm.MigrateUserAccount($User.oldDomain, $User.newDomain, $false)
Write-Host " OK !" -ForegroundColor Green
}

Une fois les 2 fichiers CSV constitués, il ne vous reste plus qu'à exécuter la commande suivante :

.\SP10_Migrate-SPUserAndGroupFromDomain.ps1 -UserMappingsCSV "D:\Scripts\users_to_migrate.csv" - GroupMappingsCSV "D:\Scripts\groups_to_migrate.csv"
Bonne(s) migration(s) ;)
Pour rappel : Ce post fait parti d'une série de plusieurs posts dédiés à la migration SharePoint de domaine
Facebook Like
Anonymous