
Microsoft GRAPH
Install
Install module
Install-Module Microsoft.Graph -Scope CurrentUser
Connect to Graph and tenant
Disconnect-MgGraph -ErrorAction SilentlyContinue
Connect-MgGraph `
-TenantId "YOUR_ACCOUNT.onmicrosoft.com" `
-Scopes "RoleManagement.Read.Directory","Directory.Read.All"
See All Global Administrator
$role = Get-MgDirectoryRole -Filter "displayName eq 'Global Administrator'"
Get-MgDirectoryRoleMember -DirectoryRoleId $role.Id -All |
ForEach-Object {
Get-MgUser -UserId $_.Id `
-Property DisplayName,UserPrincipalName,AccountEnabled
} |
Where-Object {
$_.UserPrincipalName -ne "[email protected]"
} |
Select-Object DisplayName,UserPrincipalName,AccountEnabled |
Format-Table -AutoSize
Check what tenant you connected
Get-MgContext | Select-Object Account,TenantId,Scopes
Disconnect from Graph
Disconnect-MgGraph
Disconnect-MgGraph -ErrorAction SilentlyContinue
Connect-MgGraph `
-TenantId "YOUR_TENNANT.onmicrosoft.com" `
-Scopes "User.ReadWrite.All","RoleManagement.ReadWrite.Directory"
$upn = "root@YOUR_TENNANT.onmicrosoft.com"
# Pop-up New Window — Add new Password
$cred = Get-Credential -UserName $upn -Message "Please write New Password"
$passwordProfile = @{
Password = $cred.GetNetworkCredential().Password
ForceChangePasswordNextSignIn = $true
}
$newUser = New-MgUser `
-DisplayName "Emergency Global Admin" `
-UserPrincipalName $upn `
-MailNickname "root" `
-AccountEnabled `
-PasswordProfile $passwordProfile
$gaRole = Get-MgRoleManagementDirectoryRoleDefinition `
-Filter "displayName eq 'Global Administrator'"
$params = @{
"@odata.type" = "#microsoft.graph.unifiedRoleAssignment"
roleDefinitionId = $gaRole.Id
principalId = $newUser.Id
directoryScopeId = "/"
}
New-MgRoleManagementDirectoryRoleAssignment -BodyParameter $params
check new user if create
Get-MgUser -UserId "root@YOUR_TENANT.onmicrosoft.com" |
Select-Object DisplayName,UserPrincipalName,AccountEnabled
Get-MgRoleManagementDirectoryRoleAssignment `
-Filter "principalId eq '$($newUser.Id)'" -All |
Where-Object RoleDefinitionId -eq $gaRole.Id |
Select-Object PrincipalId,RoleDefinitionId,DirectoryScopeId