Azure AD PowerShell
Azure Active Directory PowerShell cmdlets for cloud identity management.
Module Setup & Connection
Install-Module -Name AzureADInstall Azure AD PowerShell module
Import-Module AzureADImport Azure AD module
Connect-AzureADConnect to Azure AD
Connect-AzureAD -TenantId <tenant_id>Connect to specific tenant
Connect-AzureAD -Credential $credConnect with stored credentials
Disconnect-AzureADDisconnect from Azure AD
Get-AzureADTenantDetailGet tenant information
Get-Command -Module AzureADList all Azure AD cmdlets
User Management
Get-AzureADUserGet all users
Get-AzureADUser -ObjectId user@domain.comGet specific user
Get-AzureADUser -Filter "startswith(DisplayName,'John')"Search users by display name
New-AzureADUser -DisplayName "John Doe" -UserPrincipalName john@domain.com -PasswordProfile $pass -AccountEnabled $trueCreate new user
Set-AzureADUser -ObjectId user@domain.com -DisplayName "New Name"Update user properties
Set-AzureADUserPassword -ObjectId user@domain.com -Password $passReset user password
Set-AzureADUser -ObjectId user@domain.com -AccountEnabled $falseDisable user account
Set-AzureADUser -ObjectId user@domain.com -AccountEnabled $trueEnable user account
Remove-AzureADUser -ObjectId user@domain.comDelete user (soft delete)
Get-AzureADUserExtension -ObjectId user@domain.comGet user extension attributes
Group Management
Get-AzureADGroupGet all groups
Get-AzureADGroup -ObjectId <guid>Get specific group
Get-AzureADGroup -Filter "startswith(DisplayName,'IT')"Search groups by name
New-AzureADGroup -DisplayName "Team Group" -MailEnabled $false -SecurityEnabled $true -MailNickName "team"Create security group
New-AzureADGroup -DisplayName "M365 Group" -MailEnabled $true -SecurityEnabled $false -MailNickName "m365group" -GroupTypes "Unified"Create Microsoft 365 group
Set-AzureADGroup -ObjectId <guid> -DisplayName "New Name"Update group properties
Remove-AzureADGroup -ObjectId <guid>Delete group
Get-AzureADGroupMember -ObjectId <guid>Get group members
Add-AzureADGroupMember -ObjectId <group_guid> -RefObjectId <user_guid>Add member to group
Remove-AzureADGroupMember -ObjectId <group_guid> -MemberId <user_guid>Remove member from group
Get-AzureADUserMembership -ObjectId user@domain.comGet user group memberships
Application Registration
Get-AzureADApplicationList all applications
Get-AzureADApplication -ObjectId <guid>Get specific application
New-AzureADApplication -DisplayName "My App"Create new application
Set-AzureADApplication -ObjectId <guid> -DisplayName "New Name"Update application
Remove-AzureADApplication -ObjectId <guid>Delete application
New-AzureADApplicationPasswordCredential -ObjectId <guid>Create app secret
Get-AzureADApplicationPasswordCredential -ObjectId <guid>List app secrets
Remove-AzureADApplicationPasswordCredential -ObjectId <guid> -KeyId <key_guid>Remove app secret
Service Principal Management
Get-AzureADServicePrincipalList all service principals
Get-AzureADServicePrincipal -ObjectId <guid>Get specific service principal
New-AzureADServicePrincipal -AppId <app_id>Create service principal
Remove-AzureADServicePrincipal -ObjectId <guid>Delete service principal
New-AzureADServicePrincipalPasswordCredential -ObjectId <guid>Create service principal secret
Get-AzureADServicePrincipalOAuth2PermissionGrant -ObjectId <guid>Get OAuth2 permission grants
Directory Roles & Permissions
Get-AzureADDirectoryRoleList all directory roles
Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'"Get specific role
Get-AzureADDirectoryRoleMember -ObjectId <role_guid>Get role members
Add-AzureADDirectoryRoleMember -ObjectId <role_guid> -RefObjectId <user_guid>Add user to role
Remove-AzureADDirectoryRoleMember -ObjectId <role_guid> -MemberId <user_guid>Remove user from role
Get-AzureADUserMembership -ObjectId user@domain.com | Where-Object {$_.ObjectType -eq "Role"}Get user role memberships
Device Management
Get-AzureADDeviceList all devices
Get-AzureADDevice -ObjectId <guid>Get specific device
Get-AzureADDevice -Filter "startswith(DisplayName,'DESKTOP')"Search devices by name
Set-AzureADDevice -ObjectId <guid> -AccountEnabled $falseDisable device
Set-AzureADDevice -ObjectId <guid> -AccountEnabled $trueEnable device
Remove-AzureADDevice -ObjectId <guid>Delete device
Get-AzureADUserRegisteredDevice -ObjectId user@domain.comGet user registered devices
Get-AzureADUserOwnedDevice -ObjectId user@domain.comGet user owned devices
Domain Management
Get-AzureADDomainList all domains
Get-AzureADDomain -Name domain.comGet specific domain
New-AzureADDomain -Name newdomain.comAdd new domain
Remove-AzureADDomain -Name domain.comRemove domain
Get-AzureADDomainVerificationDnsRecord -Name domain.comGet DNS verification records
Confirm-AzureADDomain -Name domain.comVerify domain ownership
Set-AzureADDomain -Name domain.com -IsDefault $trueSet default domain
Conditional Access Policies
Get-AzureADMSConditionalAccessPolicyList all conditional access policies
Get-AzureADMSConditionalAccessPolicy -PolicyId <guid>Get specific policy
New-AzureADMSConditionalAccessPolicy -DisplayName "Policy Name"Create conditional access policy
Set-AzureADMSConditionalAccessPolicy -PolicyId <guid> -State EnabledEnable policy
Set-AzureADMSConditionalAccessPolicy -PolicyId <guid> -State DisabledDisable policy
Remove-AzureADMSConditionalAccessPolicy -PolicyId <guid>Delete policy
License Management
Get-AzureADSubscribedSkuList all available licenses
Get-AzureADUser -ObjectId user@domain.com | Select-Object -ExpandProperty AssignedLicensesGet user licenses
Set-AzureADUserLicense -ObjectId user@domain.com -AssignedLicenses $licensesAssign license to user
Get-AzureADUser -Filter "assignedLicenses/$count eq 0"Find unlicensed users
Guest User Management
New-AzureADMSInvitation -InvitedUserEmailAddress guest@external.com -InviteRedirectUrl "https://portal.azure.com"Invite guest user
Get-AzureADUser -Filter "userType eq 'Guest'"List all guest users
Remove-AzureADUser -ObjectId guest@external.comRemove guest user
Administrative Units
Get-AzureADAdministrativeUnitList all administrative units
Get-AzureADAdministrativeUnit -ObjectId <guid>Get specific administrative unit
New-AzureADAdministrativeUnit -DisplayName "Unit Name"Create administrative unit
Remove-AzureADAdministrativeUnit -ObjectId <guid>Delete administrative unit
Add-AzureADAdministrativeUnitMember -ObjectId <unit_guid> -RefObjectId <user_guid>Add member to unit
Get-AzureADAdministrativeUnitMember -ObjectId <guid>List unit members
OAuth2 Permissions & Consent
Get-AzureADOAuth2PermissionGrantList OAuth2 permission grants
Get-AzureADServicePrincipalOAuth2PermissionGrant -ObjectId <sp_guid>Get service principal grants
Remove-AzureADOAuth2PermissionGrant -ObjectId <grant_guid>Remove permission grant
New-AzureADServiceAppRoleAssignment -ObjectId <sp_guid> -PrincipalId <user_guid> -ResourceId <resource_guid> -Id <role_guid>Assign app role
Directory Settings
Get-AzureADDirectorySettingGet directory settings
Get-AzureADDirectorySettingTemplateGet directory setting templates
New-AzureADDirectorySetting -DirectorySetting $settingCreate directory setting
Set-AzureADDirectorySetting -Id <guid> -DirectorySetting $settingUpdate directory setting
Remove-AzureADDirectorySetting -Id <guid>Delete directory setting
Deleted Objects
Get-AzureADDeletedApplicationList deleted applications
Restore-AzureADDeletedApplication -ObjectId <guid>Restore deleted application
Remove-AzureADDeletedApplication -ObjectId <guid>Permanently delete application
Get-AzureADMSDeletedGroupList deleted groups
Restore-AzureADMSDeletedDirectoryObject -Id <guid>Restore deleted group
Session Connection Procedure
# Step 1: Verify module installationGet-Module -ListAvailable AzureAD
# Step 2: Install module if missingInstall-Module -Name AzureAD -Force -AllowClobber
# Step 3: Import moduleImport-Module AzureAD
# Step 4: Connect to Azure ADConnect-AzureAD
# Step 5: Verify connectionGet-AzureADTenantDetail
# Alternative: Connect with credentials$cred = Get-Credential; Connect-AzureAD -Credential $cred
# Alternative: Connect to specific tenantConnect-AzureAD -TenantId <tenant_id>
Session Disconnection Procedure
# Step 1: Verify active sessionGet-AzureADTenantDetail
# Step 2: Disconnect from Azure ADDisconnect-AzureAD
# Step 3: Verify disconnectionGet-AzureADTenantDetail (should fail)
# Step 4: Remove module (optional)Remove-Module AzureAD
# Note: Clear cached credentialsClear-AzureProfile (if using older profile)
Reporting & Auditing
Get-AzureADAuditDirectoryLogs -Filter "activityDateTime gt 2024-01-01"Get audit directory logs
Get-AzureADAuditSignInLogs -Filter "createdDateTime gt 2024-01-01"Get sign-in logs
Get-AzureADUser | Measure-ObjectCount total users
Get-AzureADGroup | Measure-ObjectCount total groups
Get-AzureADDevice | Measure-ObjectCount total devices
Get-AzureADUser | Where-Object {$_.AccountEnabled -eq $false}Find disabled users
Get-AzureADUser | Export-Csv users.csv -NoTypeInformationExport users to CSV
Bulk Operations
Import-Csv users.csv | ForEach-Object {New-AzureADUser -DisplayName $_.Name -UserPrincipalName $_.UPN -PasswordProfile $pass -AccountEnabled $true}Bulk create users from CSV
Get-AzureADUser | Set-AzureADUser -UsageLocation "US"Bulk set usage location
Import-Csv members.csv | ForEach-Object {Add-AzureADGroupMember -ObjectId $groupId -RefObjectId (Get-AzureADUser -ObjectId $_.UPN).ObjectId}Bulk add group members
Get-AzureADUser -Filter "Department eq 'IT'" | Export-Csv it-users.csvExport filtered users