Forum Discussion

jean090681's avatar
jean090681
Copper Contributor
Aug 21, 2019
Solved

Add AD Security group as Site collection administrator - SPO

Is there a way to add a security group as Primary or secondary site collection administrator to all the sites in the tenant via PowerShell?

 

I know this works for adding a user account to all the sites as SC Admin

 

$Sites = Get-SPOSite -Limit ALL Foreach ($Site in $Sites) { Set-SPOUser -site $Site.Url -LoginName $AdminName -IsSiteCollectionAdmin $True

 

The same command with Set-SPOSiteGroup does not work Set-SPOSiteGroup : A parameter cannot be found that matches parameter name 'IsSiteCollectionAdmin'

Since 'IsSiteCollectionAdmin' is not accepted with Set-SPOSiteGroup

 

Any suggestions on how to set security group as site collection administrator via PS script/ cmdlets

 

Thanks in advance.

6 Replies

  • Serkar's avatar
    Serkar
    Copper Contributor

    jean090681 

     

    Hi, there is the possibility to do it with the object ID of the security group:
    Set-SPOUser -Site $SiteUrl -LoginName $Group -IsSiteCollectionAdmin $true

     

    I have described it in detail here: 

    https://sposcripts.com/add-site-collection-administrator/

  • jean090681 - you can also use PNP as suggested by Murilo Santana on StackExchange:

     

    https://sharepoint.stackexchange.com/questions/268250/add-ad-security-group-as-site-collection-administrator-spo 

     

    I modified the original script to the one below. You must be a Site Collection Admin to run the Add-PnPSiteCollectionAdmin command. Use Set-PnPTenantSite -Owners if you are not an Admin for the site but have the SharePoint admin role.

     

    Connect-PnPOnline -url "https://tenant.sharepoint.com/sites/SiteCollection"
    $web = Get-PnPWeb
    $admins = Get-PnPSiteCollectionAdmin
    write-host "Original Site Colletion Admins: " $admins
    $azureADGroup = "c:0t.c|tenant|AzureAD-SecurityGroup-ID"
    $ensureUser = $web.EnsureUser($azureADGroup)
    $user = Get-PnPUser -Identity $azureADGroup
    Add-PnPSiteCollectionAdmin -Owners $user.LoginName
    Start-Sleep -s 5
    $admins = Get-PnPSiteCollectionAdmin
    write-host "New Site Collection Admins: " $admins

     ( 

  • jean090681 

    Currently, there is no way to have the Office 365 nested group as site collection admin, I know Microsoft working on nested AAD Group but there is no timeline for that.

    But as Juan said you can have your current security group as site collection primary admin.

     

     

Resources