Got the opportunity to migrate the users from one domain to another domain. Users should migrate in Nintex DB too.
$nwcmd = 'C:\Program Files\Nintex\Nintex Workflow 2010\NWAdmin.exe'
$nwarg1 = '-o'
$nwarg2 = 'MigrateUser'
$nwarg3 = '-oldUser'
$nwarg4 = '-newUser'
$errorstatus=$ErrorActionPreference
Add-PSSnapin Microsoft.SharePoint.PowerShell -ea silentlycontinue
$m = [Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager]::Local
Function Get-SPClaim {
param ([string]$user)
$claim = New-SPClaimsPrincipal -identity $user -IdentityType "WindowsSamAccountName"
return $m.EncodeClaim($claim)
}
function MigrateUserOrGroups($migrationType, $csvFile)
{
#Getting the SPFarm object
$farm = Get-SPFarm
Write-Host $migrationType
#Checking whether the user input the type of Migration as Group
if($migrationType -eq "Group"){
Import-Csv $csvFile | ForEach-Object{
Write-Host "Migrating Group" $_.oldlogin "to" $_.newlogin -ForegroundColor Green
$farm.MigrateGroup($_.oldlogin, $_.newlogin)
}
}
#Checking whether the user input the type of Migration as User
if($migrationType -eq "User")
{
Import-Csv $csvFile | ForEach-Object{
$olduser= Get-SPClaim($_.oldlogin);
$newuser= Get-SPClaim($_.newlogin);
$oldloginname=$_.oldlogin
try
{
$ErrorActionPreference="stop"
Write-Host $newuser
Write-Host "Migrating User" $_.oldlogin "to" $_.newlogin -ForegroundColor Green
$farm.MigrateUserAccount( $olduser, $newuser, $false )
write-host $nwcmd $nwarg1 $nwarg2 $nwarg3 """$olduser""" $nwarg4 """$newuser"""
& $nwcmd $nwarg1 $nwarg2 $nwarg3 $olduser $nwarg4 $newuser
}
catch
{
write-host "Exception occured for migrating user" $oldloginname " Message: $($_.Exception.Message)" -ForegroundColor Red
}
finally
{
$ErrorActionPreference=$errorstatus
}
}
}
Write-Host "Migration Completed" -ForegroundColor Cyan
}
MigrateUserOrGroups $args[0] $args[1]
Follow below links
http://blogs.msdn.com/b/sowmyancs/archive/2012/01/07/migrate-users-groups-powershell-script.aspx?PageIndex=2
http://sharepoint.stackexchange.com/questions/118424/how-to-migrate-ad-domain-groups-in-sharepoint-2010
$nwcmd = 'C:\Program Files\Nintex\Nintex Workflow 2010\NWAdmin.exe'
$nwarg1 = '-o'
$nwarg2 = 'MigrateUser'
$nwarg3 = '-oldUser'
$nwarg4 = '-newUser'
$errorstatus=$ErrorActionPreference
Add-PSSnapin Microsoft.SharePoint.PowerShell -ea silentlycontinue
$m = [Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager]::Local
Function Get-SPClaim {
param ([string]$user)
$claim = New-SPClaimsPrincipal -identity $user -IdentityType "WindowsSamAccountName"
return $m.EncodeClaim($claim)
}
function MigrateUserOrGroups($migrationType, $csvFile)
{
#Getting the SPFarm object
$farm = Get-SPFarm
Write-Host $migrationType
#Checking whether the user input the type of Migration as Group
if($migrationType -eq "Group"){
Import-Csv $csvFile | ForEach-Object{
Write-Host "Migrating Group" $_.oldlogin "to" $_.newlogin -ForegroundColor Green
$farm.MigrateGroup($_.oldlogin, $_.newlogin)
}
}
#Checking whether the user input the type of Migration as User
if($migrationType -eq "User")
{
Import-Csv $csvFile | ForEach-Object{
$olduser= Get-SPClaim($_.oldlogin);
$newuser= Get-SPClaim($_.newlogin);
$oldloginname=$_.oldlogin
try
{
$ErrorActionPreference="stop"
Write-Host $newuser
Write-Host "Migrating User" $_.oldlogin "to" $_.newlogin -ForegroundColor Green
$farm.MigrateUserAccount( $olduser, $newuser, $false )
write-host $nwcmd $nwarg1 $nwarg2 $nwarg3 """$olduser""" $nwarg4 """$newuser"""
& $nwcmd $nwarg1 $nwarg2 $nwarg3 $olduser $nwarg4 $newuser
}
catch
{
write-host "Exception occured for migrating user" $oldloginname " Message: $($_.Exception.Message)" -ForegroundColor Red
}
finally
{
$ErrorActionPreference=$errorstatus
}
}
}
Write-Host "Migration Completed" -ForegroundColor Cyan
}
MigrateUserOrGroups $args[0] $args[1]
Follow below links
http://blogs.msdn.com/b/sowmyancs/archive/2012/01/07/migrate-users-groups-powershell-script.aspx?PageIndex=2
http://sharepoint.stackexchange.com/questions/118424/how-to-migrate-ad-domain-groups-in-sharepoint-2010
No comments:
Post a Comment