Migrare gli utenti con windows autentication in Claims
Durante la migrazione da SharePoint 2007[tag] a [tag=sharepoint-2010]2010 con claims attivato, vanno migrati gli utenti della FBA tramite la procedura descritta in (Migrare gli utenti da FBA a Claims in SharePoint 2010) e gli utenti windows.
Questa procedura sembra avere alcuni problemi quando si è in presenza di qualche migliaio di utenti con il risultato che non tutti gli utenti vengono migrati.
Per risolvere il problema si può utilizzare questo [tag]script[tag] per forzare la migrazione degli utenti mancanti
Questa procedura sembra avere alcuni problemi quando si è in presenza di qualche migliaio di utenti con il risultato che non tutti gli utenti vengono migrati.
Per risolvere il problema si può utilizzare questo [tag]script[tag] per forzare la migrazione degli utenti mancanti
PowerShell: MigrateUsers_FixForWindowsAuthentication.ps1
#migra a claims tutti gli utenti windows che non sono stati convertiti
$url ="http://sharepoint.sgart.it"
$ErrorActionPreference = "Stop"
Get-Date >> migrate.txt
Get-Date >> errori.txt
Get-SPSite -WebApplication $url -limit all | foreach {
Write-Host $_.url -ForegroundColor green
$users = get-spuser -web $_.url -Limit ALL
foreach($useriteration in $users)
{
$a=@()
$al = ""
$title = $useriteration.Name
$userlogin = $useriteration.UserLogin
Write-Host "$userlogin - $title" -ForegroundColor DarkMagenta
if($title -eq "All Authenticated Users") {
$al = "c:0!.s|windows"
#if($userlogin -eq "c:0(.s|true")
#{
# continue
#}
#$al = "c:0(.s|true"
Write-Host "Force current $userlogin to $al" -ForegroundColor yellow
}
else
{
if($useriteration.IsDomainGroup -eq $true -or $userlogin.StartsWith("i:0#") -or $userlogin.StartsWith("c:0")) {
continue
}
$al = "i:0#.w|" + $useriteration.LoginName
}
try{
Write-Host "try $al"
Move-SPUser -IgnoreSID -Confirm:$false -Identity $useriteration -NewAlias $al
# Log
Write-Host "converted user $al" -ForegroundColor yellow
$userlogin >> migrate.txt
} catch {
Write-Host $userlogin -ForegroundColor red
$userlogin >> errori.txt
continue;
}
}
}
Get-Date >> migrate.txt
Get-Date >> errori.txt