This powershell code snippet allows you to add a user as site collection administrator in SharePoint online
# add a user or users to the site collection admin role on every site collection in Office 365 sites (SharePoint Online)
#setup a log path
$path = "$($(get-location).path)LogFile.txt"
start-transcript -path $Path
write-host "This will connect to SharePoint Online"
#Admin Variables:
$Adminurl = "TENANT ADMIN URL"
$username = "TENANT PASSWORD"
#Tenant Variables:
$TenantURL = "TENANT URL"
$SiteCollectionAdmins = @("PROVIDED ALL THE USER IN COMMA SEPRATE ")
#Connect to SPO
$SecurePWD = read-host -assecurestring "Enter Password for $username"
$credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $SecurePWD
Connect-SPOService -url $Adminurl -credential $credential
write-host "Connected" -foregroundcolor green
$sites = get-sposite
Foreach ($site in $sites)
{
Write-host "Adding users to $($site.URL)" -foregroundcolor yellow
#get the owner group name
$ownerGroup = get-spoSitegroup -site $site.url | where {$_.title -like "*Owners"}
$ownertitle = $ownerGroup.title
Write-host "Owner Group is named > $ownertitle > " -foregroundcolor cyan
#add the Site Collection Admin to the site in the owners group
foreach ($user in $SiteCollectionAdmins)
{
Write-host "Adding $user to $($site.URL) as a user..."
add-SPOuser -site $site.url -LoginName $user -group $ownerTitle
write-host "Done"
#Set the site collection admin flag for the Site collection admin
write-host "Setting up $user as a site collection admin on $($site.url)..."
set-spouser -site $site.url -loginname $user -IsSiteCollectionAdmin $true
write-host "Done" -foregroundcolor green
}
}
Write-host "Done with everything" -foregroundcolor green
stop-transcript
Leave a comment