Get-MgUser Là Gì? Cách Lấy Danh Sách User Entra ID trên Microsoft 365

Trong bài viết này, Tri Thức Software sẽ hướng dẫn bạn cách sử dụng cmdlet Get-MgUser để truy xuất thông tin chi tiết người dùng Entra ID từ Microsoft 365. Tôi sẽ trình bày các ví dụ về cách lấy tất cả người dùng Entra ID hoặc truy vấn người dùng cụ thể bằng tham số filter.

So sánh Get-AzureADUser và Get-MgUser

Khi quản lý người dùng trong các dịch vụ đám mây của Microsoft, bạn sẽ gặp hai lệnh tương tự nhau: Get-AzureADUser và Get-MgUser (còn được gọi là GetEntraUser).

Lệnh Get-AzureADUser thuộc bộ công cụ cũ hơn có tên là mô-đun Azure AD PowerShell, hiện không còn được cập nhật nữa. Lệnh Get-MgUser thuộc mô-đun Microsoft Graph PowerShell mới hơn, một phần của nền tảng hiện đại có tên là Microsoft Entra, kết hợp các tính năng nhận dạng và bảo mật.

Get-MgUser là gì?

Get-MgUser là một lệnh trong Microsoft Graph PowerShell, được sử dụng để truy xuất thông tin về các tài khoản người dùng trong môi trường Microsoft 365. Lệnh này cung cấp quyền truy cập vào các thuộc tính người dùng như tên, địa chỉ email, vai trò, v.v. từ API Microsoft Graph, nơi tập trung quản lý các tài nguyên Azure Active Directory. Quản trị viên và nhà phát triển sử dụng cmdlet này để tự động hóa các tác vụ liên quan đến quản lý người dùng, báo cáo hoặc tích hợp hệ thống. Bằng cách chạy Get-MgUser, bạn có thể lọc, tìm kiếm và chỉ định các trường để trả về dữ liệu cụ thể.

Các yêu cầu để chạy Get-MgUser

Để sử dụng lệnh Get-MGUser, bạn cần cài đặt mô-đun Microsoft Graph PowerShell.

Microsoft Graph cung cấp quyền truy cập vào dữ liệu tổ chức, bao gồm người dùng, nhóm, thư điện tử, tệp, thiết bị và là yêu cầu bắt buộc để sử dụng Get-MgUser.

Để cài đặt Mô-đun Microsoft Graph, hãy làm theo các bước sau.

Bước 1: Cài đặt Microsoft Graph

Install-Module Microsoft.Graph -Scope CurrentUser

Tham số -Scope được sử dụng để chỉ định những người dùng nào sẽ được cài đặt mô-đun.

Bước 2: Kết nối với Microsoft Graph

Sau khi cài đặt mô-đun, bạn có thể kết nối với MS Graph.

Connect-MgGraph -Scopes "User.Read.All"

Cú pháp

Dưới đây là tổng quan về cú pháp của cmdlet.

Get-MgUser
   [-ExpandProperty <String[]>]
   [-Property <String[]>]
   [-Filter <String>]
   [-Search <String>]
   [-Sort <String[]>]
   [-Top <Int32>]
   [-ConsistencyLevel <String>]
   [-ResponseHeadersVariable <String>]
   [-Headers <IDictionary>]
   [-PageSize <Int32>]
   [-All]
   [-CountVariable <String>]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

Ví dụ sử dụng Get-MgUser

Ví dụ 1: Lấy thông tin của một người dùng

Lệnh này truy xuất thông tin về một người dùng cụ thể thuộc hệ thống Entra ID. Nó sẽ trả về DisplayName, ID, Mail và UserPrincipalName của người dùng đó.

Get-MgUser -UserId "[email protected]"
get-mguser người dùng đơn lẻ

Ví dụ 2: Lấy tất cả thuộc tính người dùng

Để xem tất cả các thuộc tính của người dùng, hãy chạy lệnh này. Theo mặc định, các yêu cầu API Microsoft Graph không trả về tất cả các thuộc tính. Bạn cần chỉ định rõ ràng các thuộc tính bạn muốn truy xuất).

Get-MgUser -UserId "[email protected]" | fl
Lấy tất cả thuộc tính người dùng ID đăng nhập

Ví dụ 3: Lấy tất cả người dùng

Để lấy tất cả người dùng có ID Entra, bạn có thể sử dụng tham số -all.

Get-MgUser -All
Lấy tất cả người dùng ID đăng nhập

Ví dụ 4: Lấy các thuộc tính cụ thể của người dùng

Sử dụng tham số -property và tên thuộc tính.

Lệnh dưới đây lấy DisplayName, UserPrincipalName và JobTitle của một tài khoản cụ thể bằng cách sử dụng Select-Object.

Get-MgUser -UserId "[email protected]" -property DisplayName, UserPrincipalName, JobTitle, AccountEnabled | Select-Object DisplayName, UserPrincipalName, JobTitle, AccountEnabled
lấy các thuộc tính người dùng cụ thể

Ví dụ 5: Lấy trạng thái tài khoản của tất cả người dùng

Để kiểm tra trạng thái tài khoản của người dùng Entra ID, bạn có thể truy vấn thuộc tính AccountEnabled.

All

Lệnh này truy xuất tất cả người dùng, bao gồm cả các thuộc tính UserPrincipalName và AccountEnabled của họ.

Get-MgUser -all -property UserPrincipalName, AccountEnabled | Select-Object UserPrincipalName,AccountEnabled
lấy tất cả trạng thái tài khoản

Enabled

Get-MgUser -All -Filter "accountEnabled eq true" -Property DisplayName, UserPrincipalName, AccountEnabled | select DisplayName, UserPrincipalName, AccountEnabled

Disabled

Get-MgUser -All -Filter "accountEnabled eq false" -Property DisplayName, UserPrincipalName, AccountEnabled | select DisplayName, UserPrincipalName, AccountEnabled

Ví dụ 6: Lấy tất cả người dùng đám mây

Lệnh này truy xuất tất cả các mục chỉ có trên đám mây bằng cách lọc thuộc tính OnPremisesSyncEnabled và kiểm tra xem nó có khác true hay không (nghĩa là chúng không được đồng bộ hóa từ Active Directory tại chỗ).

Get-MgUser -All -Filter "OnPremisesSyncEnabled ne true" -ConsistencyLevel eventual -CountVariable CountVar

Ví dụ 7: Lấy tất cả người dùng đã đồng bộ hóa trên hệ thống tại chỗ

Lệnh này truy xuất tất cả người dùng được đồng bộ hóa tại chỗ bằng cách lọc những người dùng có thuộc tính OnPremisesSyncEnabled được đặt thành true.

Get-MgUser -All -Filter "OnPremisesSyncEnabled eq true"

Ví dụ 8: Lấy người dùng khách

Lệnh này truy xuất người dùng khách bằng cách lọc những người dùng có thuộc tính UserType được đặt thành “Guest”.

Get-MgUser -All -property UserType, Displayname -Filter "UserType eq 'Guest'" | select-object DisplayName, UserType
nhận người dùng khách

Ví dụ 9: Lấy người dùng được cấp phép

Lệnh này truy xuất tất cả các thành viên được cấp phép từ Entra ID bằng cách lọc những người dùng có số lượng giấy phép được cấp từ 1 trở lên. Nếu assignedLicenses khác 0, điều đó có nghĩa là người dùng đó có ít nhất một giấy phép được cấp.

Get-MgUser -All -Filter "assignedLicenses/`$count ne 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable Records
nhận người dùng được cấp phép

Ví dụ 10: Tìm kiếm người dùng theo tên hiển thị

Trong ví dụ này, tôi sẽ tìm kiếm người dùng bằng cách lọc theo Tên hiển thị (DisplayName).

Get-MgUser -Filter "DisplayName eq 'Hayden Roberts'"
lọc theo tên hiển thị

Ví dụ 11: Tìm kiếm người dùng theo địa chỉ email

Trong ví dụ này, tôi sẽ tìm kiếm người dùng bằng cách lọc theo địa chỉ email cụ thể.

Get-MgUser -Filter "UserPrincipalName eq '[email protected]'"
lọc theo địa chỉ email

Phần kết luận

Tóm lại, việc sử dụng Get-MGuser để truy xuất người dùng Entra ID cung cấp một giải pháp tốt để quản lý và truy vấn dữ liệu người dùng. Theo tôi, sử dụng PowerShell để lấy người dùng Entra ID nhanh hơn và linh hoạt hơn so với việc sử dụng trung tâm quản trị Microsoft 365. Với hướng dẫn chi tiết này, banquyenphanmem.com hy vọng bạn đã có thể tự mình cài đặt và cấu hình để tận dụng tối đa các tính năng mạnh mẽ của nó, từ đó tiết kiệm thời gian, công sức và chi phí, đồng thời nâng cao hiệu quả quản lý phần mềm trong doanh nghiệp của mình.

Bài viết liên quan

zalo-icon
phone-icon