Add AD Group to SharePoint Online Group using PowerShell

Requirement: Add AD Group to SharePoint Online Group using PowerShell

PowerShell to Add Active Directory Group to SharePoint Online Group
#Load SharePoint Online Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

Function Add-ADGroupToSP($SiteURL,$ADGroupName,$SPGroupName)
{
    #Setup Credentials to connect
    $Cred = Get-Credential
    $Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
 
    Try {
        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Cred
     
        #Get the Web and SharePoint Group
        $Web = $Ctx.Web
        $Group= $Web.SiteGroups.GetByName($SPGroupName)
 
        #Resolve the AD Security Group
        $ADGroup = $web.EnsureUser($ADGroupName)
 
        #sharepoint online powershell add AD group to sharepoint group
        $Result = $Group.Users.AddUser($ADGroup)
        $Ctx.Load($Result)
        $Ctx.ExecuteQuery()
 
        write-host  -f Green "Active Directory Group '$ADGroupName' has been added to '$SPGroupName'"
    }
    Catch {
        write-host -f Red "Error:" $_.Exception.Message
    }
}

#Variables for Processing
$SiteURL = "https://crescenttech.sharepoint.com/Sales"
$ADGroupName = "Marketing Managers"
$SPGroupName="Sales Portal Members"

#Call the function to add AD group to SharePoint Group
Add-ADGroupToSP -SiteURL $SiteURL -ADGroupName $ADGroupName -SPGroupName $SPGroupName
You can also use AD Group's Login ID (E.g. c:0t.c|tenant|915xnusf-fbb3-7da1-k252-33e0de69f19") to Add AD Group to SharePoint Online Group.
Add AD Group to SharePoint Online Group using PowerShell Add AD Group to SharePoint Online Group using PowerShell Reviewed by Salaudeen Rajack on April 08, 2018 Rating: 5

2 comments:

  1. What is the same code for PNP Powershell?

    ReplyDelete
    Replies
    1. $context = Connect-PnPonline -Url [mysite] -ReturnConnection
      $web = Get-PnPWeb -Connection $context
      $adgroup = "c:0t.c|tenant|[ad id]"
      $ensureUser = $web.EnsureUser($adgroup)
      $adgroup= Get-PnPUser $adgroup -Connection $context
      Add-PnPUserToGroup -LoginName $adgroup.LoginName -Identity "$($web.Title) Owners" -Connection $context

      Delete

Please Login and comment to get your questions answered!

Powered by Blogger.