PowerShell for Microsoft 365 Notes
Chapter 2.2 - Reporting on User Accounts
Find User Account Information
- List users, count and if users do not have email
# get users with inline filter
Get-MgUser -Filter "startswith(UserPrincipalName, 'BobSmith')"
Get-MgUser -Filter "DisplayName eq 'Bob Smith'"
# get users with piped to filter
Get-MgUser -all | Where-Object {$_.DisplayName -eq "Bob Smith"}
Get-MgUser -all | Where-Object {$_.Mail -eq $null}
# compare user counts
Write-Host "Total Users: $((Get-MgUser -Count userCount -ConsistencyLevel eventual).count)'n Users without email: $((Get-MgUser -all | Where-Object {$_.Mail -eq $null}).count)"
Get-MgUser -Count userCount -ConsistencyLevel eventual $global:userCount
List User Accounts
- List blocked and active user accounts
# list blocked user accounts
Get-MgUser -Filter "AccountEnabled eq false"
#list table of current users
Get-MgUser -All -Filter "AccountEnabled eq true" | Select-Object -Property DisplayName, mail, City | Format-Table
Conclusion
- Finding user account information
- Listing Active and Blocked users