Convertendo um Banco de Dados de Conteúdo de Autenticação Clássica no SharePoint 2013
Artigo original publicado na terça-feira, 24 de julho de 2012
Em blogs anteriores para o SharePoint 2010 eu escrevi sobre como fazer a migração de declarações - 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 e outros. No SharePoint 2013 nós temos um novo cmdlet para fazer o chamado Convert-SPWebApplication, qsobre o qual eu posso falar, futuramente. Como você pode adivinhar pelo nome, o escopo do cmdlet é o aplicativo web. Acreditamos, é claro, que conforme você anexe bancos de dados de conteúdo para criar seus novos farms do SharePoint 2013, você irá desejar um método mais "leve" para migrar os bancos de dados que ainda usam a autenticação clássica do Windows. Neste cenário, vou presumir que você já possui um aplicativo web baseado em declarações do Windows sendo executado no SharePoint 2013, e que você já anexou seu banco de dados de conteúdo do SharePoint 2010 usando o cmdlet Mount-SPContentDatabase. Então - presumindo que você já tem 1 banco de dados de conteúdo de quando você criou o SPWebApplication e que você acabou de adicionar seu segundo que é no modo Windows clássico, aqui vai como você pode converter apenas aquele banco de dados de conteúso usando declarações do Windows. Por favor, OBSERVE - super importante - que você usará " $arguments" para o parâmetro argumentos. Eu não sou o cara mais esperto se tratando de PowerShell no mundo (nem perto), então eu bati o meu dedão contra o pé da mesa e bati minha cabeça na mesa, repetidamente, porque eu chamei o meu de "$args". Após uma hora de dedão e testa sangrando, eu me dei conta que tudo funciona se eu chamasse de $arguments. Em algum lugar, de algum modo, eu tenho certeza de que alguém vai me dizer que a culpa é minha. :-)
$wa = Get-SPWebApplication https://yourWebAppUrl
$acc = 'domain\user'
$arguments = New-Object Microsoft.SharePoint.Administration.SPWebApplication+SPMigrateUserParameters
#baseado no cenário acima, o BD de conteúdo 0 é o que foi criado com o aplicativo web, portanto 1 é o BD que foi adicionado com Mount-SPContentDatabase
$arguments.AddDatabaseToMigrate($wa.ContentDatabases[1])
$wa.MigrateUsersToClaims($acc, $true, $arguments)
Após executar isso você deve estar pronto. Eu testei em um BD de conteúdo com alguns usuários e uma combinação de grupos do SharePoint groups e permissões exclusivas e funcionou direitinho. E, aliás, sim, aquilo é mesmo um sinal de adição entre SPWebApplication e SPMigrateuserParameters.
Esta é uma publicação localizada. Encontre o artigo original em Converting A Classic Auth Content Database to Claims Auth in SharePoint 2013