Conversion d’une base de données de contenu à authentification classique en une authentification par revendications dans SharePoint 2013

Article d’origine publié le mardi 24 juillet 2012

Dans de précédents blogs sur SharePoint 2010, j’ai expliqué comment effectuer une migration de revendications - https://blogs.technet.com/b/speschka/archive/2010/07/20/migrating-from-windows-classic-auth-to-windows-claims-auth-in-sharepoint-2010-part-2.aspx et autres. Dans SharePoint 2013, nous avons une nouvelle applet de commande pour effectuer cette opération nommée Convert-SPWebApplication, dont je parlerai ultérieurement. Comme son nom l’indique, la portée de cette applet de commande est l’application Web. Nous pensons évidemment que lorsque vous joindrez des bases de données de contenu pour créer vos nouvelles batteries SharePoint 2013, vous souhaiterez disposer d’une méthode plus légère pour migrer les bases de données qui utilisent toujours l’authentification classique Windows. Dans ce scénario, je pars du principe que vous avez déjà une application Web à revendications Windows exécutée dans SharePoint 2013 et que vous avez déjà joint votre base de données de contenu SharePoint 2010 à l’aide de l’applet de commande Mount-SPContentDatabase. Donc, en partant du principe que vous avez une base de données de contenu obtenue lors de la création de SPWebApplication et que vous avez simplement ajouté votre deuxième base de données en mode classique Windows, voici comment vous pouvez convertir cette base de données pour utiliser des revendications Windows. Veuillez NOTER - super important - que vous utilisez « $arguments » pour le paramètre arguments. Je ne suis pas un grand spécialiste de PowerShell (pas du tout même), et je suis resté bloqué un bon moment et échoué de nombreuses tentatives car j’ai nommé le mien « $args ». Après une heure d’essais frustrants, j’ai enfin compris qu’il suffisait de le nommer $arguments. Je sais, j’aurais dû y penser avant. :-)

$wa = Get-SPWebApplication https://yourWebAppUrl
$acc = 'domain\user'
$arguments = New-Object Microsoft.SharePoint.Administration.SPWebApplication+SPMigrateUserParameters

#selon le scénario ci-dessus, la base de données de contenu 0 est celle qui a été créée avec l’application Web, la base de données 1 a été ajoutée avec Mount-SPContentDatabase

$arguments.AddDatabaseToMigrate($wa.ContentDatabases[1])
$wa.MigrateUsersToClaims($acc, $true, $arguments)

Après l’exécution de cette commande, tout devrait être prêt. J’ai effectué des tests sur une base de données de contenu avec une poignée d’utilisateurs et une combinaison de groupes SharePoint et d’autorisations uniques, et cela a bien fonctionné. En passant, il y a bien un signe plus entre SPWebApplication et SPMigrateuserParameters.

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible ici : Converting A Classic Auth Content Database to Claims Auth in SharePoint 2013