How to Use Get-MgUserManager to Fetch User Manager Details


What is Get-MgUserManager?

The Get-MgUserManager cmdlet is part of the Microsoft Graph PowerShell module and is used to retrieve the manager of a specific Microsoft 365 user. This cmdlet helps administrators identify reporting structures within an organization by fetching the manager details of a given user.

Why Use Get-MgUserManager?

Understanding the management hierarchy is essential for IT administrators and HR teams. The Get-MgUserManager cmdlet is useful for:

  • Identifying a user's reporting structure.
  • Automating workflows that require manager approvals.
  • Ensuring proper delegation of tasks and permissions.
  • Auditing user roles and responsibilities within an organization.
  • Managing emails in shared or individual mailboxes

Cmdlet Syntax

The basic syntax for Get-MgUserManager is:

Get-MgUserManager -UserId 

Parameters:

  • -UserId: The unique identifier (UserPrincipalName or ObjectId) of the user whose manager details you want to fetch.

Usage Examples

1. Basic Example: Fetch the User's Manager ID

This example retrieves the Manager's User ID for a specific user.

$managerId = (Get-MgUserManager -UserId "jackie@7xh7fj.onmicrosoft.com").Id  
Write-Host "Manager ID: $managerId"
                                        

2. Fetch Detailed Manager Information

To retrieve the manager's Display Name, UPN, and Email Address, we first fetch the manager's ID and then retrieve the manager's details using Get-MgUser.

$managerId = (Get-MgUserManager -UserId "jackie@7xh7fj.onmicrosoft.com").Id  
$manager = Get-MgUser -UserId $managerId  
$manager | Select-Object Id, DisplayName, UserPrincipalName, Mail

3. Fetch Managers for All Users in a Department

This script fetches the manager details for all users in the Sales department.

$users = Get-MgUser -Filter "Department eq 'Sales'" -All  
foreach ($user in $users) {  
    $managerId = (Get-MgUserManager -UserId $user.Id).Id  
    $manager = Get-MgUser -UserId $managerId  
    [PSCustomObject]@{  
        UserId              = $user.UserPrincipalName  
        ManagerId           = $manager.Id  
        ManagerDisplayName  = $manager.DisplayName  
        ManagerUPN          = $manager.UserPrincipalName  
        ManagerMail         = $manager.Mail  
}  
}

Frequently Asked Questions

1. Can I retrieve a manager for a user who doesn’t have one?

No, if a user does not have a manager assigned, the cmdlet will return an error.

2. Can I update a user's manager using this cmdlet?

No, Get-MgUserManager is a read-only cmdlet. To update a user's manager, use Set-MgUserManager.

3. Does this cmdlet work for guest users?

No, guest users in Microsoft 365 typically do not have managers assigned.

Possible Errors and Solutions

Error Cause Solution
Request_ResourceNotFound The user ID provided does not exist. Ensure the correct UserPrincipalName or Object ID is used.
NotFound The user does not have a manager assigned. Verify if the user has a manager in Azure AD.
Permission Denied Insufficient permissions to run the cmdlet. Ensure your account has User.Read.All and Directory.Read.All permissions.

Use Cases

HR Reporting

HR teams can use this cmdlet to generate reports on reporting structures.

Approval Workflows

Automate processes that require manager approvals, such as leave requests or expense reimbursements.

Security & Compliance

Ensure that all users have assigned managers for accountability and auditing purposes.

Conclusion

The Get-MgUserManager cmdlet is an essential tool for Microsoft 365 administrators to retrieve user-manager relationships. It helps in automation, reporting, and security compliance within an organization. By using PowerShell scripts, you can quickly fetch management details, ensuring streamlined operations across departments.

Start using Get-MgUserManager today to improve your Microsoft 365 administration!

Did You Know? Managing Microsoft 365 applications is even easier with automation. Try our Graph PowerShell scripts to automate tasks like generating reports, cleaning up inactive Teams, or assigning licenses efficiently.

Ready to get the most out of Microsoft 365 tools? Explore our free Microsoft 365 administration tools to simplify your administrative tasks and boost productivity.

© Your Site Name. All Rights Reserved. Design by HTML Codex