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
Post a Comment