Groups: Cloud Only

Retrieving all Cloud only groups using Microsoft Graph.


  • ‘true’ if this group is synced from an on-premises directory;
  • ‘false’ if this group was originally synced from an on-premises directory but is no longer synced;
  • ‘null’ if this object has never been synced from an on-premises directory (default).


Connect-MgGraph -Scopes @('Group.Read.All')
$params = @{
    'All'              = $true;
    'PageSize'         = '999';
    'Filter'           = 'onPremisesSyncEnabled ne true';
    'ConsistencyLevel' = 'eventual';
    'CountVariable'    = 'groupCount'

$groups = Get-MgGroup @params


Microsoft Graph SDK for PowerShell

Install-Module Microsoft.Graph -AllowClobber -Force


Using the Microsoft Graph Command Line Tools Enterprise Application:

Connect-MgGraph -Scopes @('')

Using an existing Access Token:

Connect-MgGraph -AccessToken (ConvertTo-SecureString 'ey..' -AsPlainText -Force)

Using an Application Registration (Platform: Mobile and desktop applications, redirect http://localhost):

Connect-MgGraph -ClientId 'abc..' -TenantId 'abc..'

Using a ClientId and Secret (Password):

$tenantId = ''
$clientId = ''
$secret = ConvertTo-SecureString '' -AsPlainText -Force
$secretCredential = New-Object System.Management.Automation.PSCredential ($clientId, $secret)
$params = @{
    'SecretCredential' = $secretCredential
    'TenantId'         = $tenantId
Connect-MgGraph @params