Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # This script will add a named Site Collection Administrator
- # to all Site Collections within a Web Application.
- #
- ######################## Start Variables ########################
- $newSiteCollectionAdminLoginName = "domainuser"
- $newSiteCollectionAdminEmail = "email@saltypc.com"
- $newSiteCollectionAdminName = "Eric Kirkpatrick"
- $newSiteCollectionAdminNotes = ""
- $siteURL = "https://yourwebapplication" #Web Application URL
- $add = 1 # 1 for adding this user, 0 to remove this user
- ######################## End Variables ########################
- Clear-Host
- $siteCount = 0
- [system.reflection.assembly]::loadwithpartialname("Microsoft.SharePoint")
- $site = new-object microsoft.sharepoint.spsite($siteURL)
- $webApp = $site.webapplication
- $allSites = $webApp.sites
- ######################## Write Progress Declaration ########################
- $i = 0
- foreach ($site in $allSites)
- {
- $web = $site.openweb()
- $web.allusers.add($newSiteCollectionAdminLoginName, $newSiteCollectionAdminEmail, $newSiteCollectionAdminName, $newSiteCollectionAdminNotes)
- $user = $web.allUsers[$newSiteCollectionAdminLoginName]
- $user.IsSiteAdmin = $add
- $user.Update()
- $web.Dispose()
- $siteCount++
- ######################## Update Counter and Write Progress ########################
- $i++
- Write-Progress -Activity "Adding $newSiteCollectionAdminName to all site collections within $siteURL. Please wait..." -status "Added: $i of $($allSites.Count)" -percentComplete (($i / $allSites.Count) * 100)
- }
- $site.dispose()
- write-host "Updated" $siteCount "Site Collections."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement