Replacing user in SharePoint site collection and sub sites using power shell script




#Reading data from XML file.
[xml]$userfile = Get-Content "C:\Users\cpco_qp_farm\Desktop\UserFile.xml"
foreach( $user in $userfile.Users.User)
{
    Write-Host $user.Name -ForegroundColor Green
}

$site = Get-SPSite http://SP-2010:8080/sites/teamsite
$WebCollection = $site.AllWebs
foreach($Web in $WebCollection)
{
write-host "Site URL: " $Web.url $Web.name "users:" -foregroundcolor yellow

foreach ($userw in $Web.users)
{
if ($userw.displayname -like "A.Organisation")
{
write-host "User Name: " $userw.displayname  -foregroundcolor white
$Web.SiteUsers.Remove($userw)
write-host "User Name: " $userw.displayname   " removed from Web" -foregroundcolor red
}
    }
foreach ($group in $Web.Groups)
{
Write-host "Group Name: " $group.name: -foregroundcolor green
foreach ($user in $group.users)
{
if ($user.displayname -like "A.Organisation")
{  
Write-host "User Name: " $user.displayname  -foregroundcolor white
$group.RemoveUser($user);
write-host "User Name: " $user.displayname   " removed from '" $group.name "'" -foregroundcolor red

#get user object
$newuser=$Web.EnsureUser("B.Organisation")
$group.AddUser($newuser)
write-host "B.Organisation has been addedd to '" $group.name "'" -foregroundcolor green
}
}
}
$Web.Dispose()
}


Comments

Popular posts from this blog

Sending email using Powershell script

Convert List Collection to DataTable using C#

Difference Between Site Template and Site Definition