Tìm kiếm trang web

Kiểm tra giấy phép người dùng Microsoft 365 được gán trực tiếp hay kế thừa từ nhóm


Có hai phương pháp để gán giấy phép Microsoft 365. Một cách là chuyển nhượng giấy phép trực tiếp và cách khác là thêm người dùng vào một nhóm được liên kết với giấy phép, được gọi là cấp phép dựa trên nhóm. Phương pháp thích hợp hơn là cấp phép dựa trên nhóm vì nó dễ bảo trì hơn và phục vụ mục đích kiểm tra hơn. Trong bài viết này, bạn sẽ tìm hiểu cách kiểm tra xem giấy phép người dùng Microsoft 365 được cấp trực tiếp hay kế thừa từ một nhóm.

Kiểm tra loại chuyển nhượng giấy phép người dùng bằng PowerShell

Để kiểm tra xem giấy phép người dùng Microsoft 365 có được gán trực tiếp hay kế thừa từ một nhóm có Microsoft Graph PowerShell hay không, hãy làm theo các bước sau:

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

Chạy Windows PowerShell với tư cách quản trị viên và Cài đặt Microsoft Graph PowerShell.

Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force

Quan trọng: Luôn cài đặt các mô-đun Microsoft Graph PowerShell và Microsoft Graph Beta PowerShell. Đó là vì một số lệnh ghép ngắn chưa có trong phiên bản cuối cùng và chúng sẽ không hoạt động. Cập nhật cả hai mô-đun lên phiên bản mới nhất trước khi bạn chạy lệnh ghép ngắn hoặc tập lệnh để tránh lỗi và kết quả không chính xác.

Bước 2. Chuẩn bị tập lệnh PowerShell Get-LicenAssignment

Tạo hai thư mục trên ổ (C:) :

  • Nhiệt độ
  • Tập lệnh

Tải xuống tập lệnh PowerShell Get-LinceAssignment.ps1 và đặt nó vào thư mục C:\scripts. Tập lệnh sẽ xuất tệp CSV sang thư mục C:\temp.

Đảm bảo tệp được bỏ chặn để tránh lỗi khi chạy tập lệnh. Đọc thêm trong bài viết Lỗi không được ký điện tử khi chạy tập lệnh PowerShell.

Một tùy chọn khác là sao chép và dán đoạn mã dưới đây vào Notepad. Đặt tên cho nó là Get-LinceAssignment.ps1 và đặt nó vào thư mục C:\scripts.

<#
    .SYNOPSIS
    Get-LicenseAssignment.ps1

    .DESCRIPTION
    The script will export all Microsoft 365 users license assignment to CSV file.

    .LINK
    www.alitajran.com/microsoft-365-user-license-direct-assigned-or-inherited-from-group/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 03/04/2024 - Initial version
#>

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All"

# Get all users using Get-MgUser with a filter
$users = Get-MgUser -All -Property AssignedLicenses, LicenseAssignmentStates, DisplayName |
Select-Object DisplayName, AssignedLicenses -ExpandProperty LicenseAssignmentStates

$Report = [System.Collections.Generic.List[Object]]::new()

# Loop through all users and get the AssignedByGroup Details which will list the groupId
foreach ($user in $users) {
    # Get the group ID if AssignedByGroup is not empty
    if ($user.AssignedByGroup -ne $null) {
        $groupId = $user.AssignedByGroup
        $groupName = Get-MgGroup -GroupId $groupId | Select-Object -ExpandProperty DisplayName
        Write-Host "$($user.DisplayName) is assigned by group - $($groupName)" -ErrorAction SilentlyContinue -ForegroundColor Cyan
        $ReportLine = [PSCustomObject]@{
            User      = $user.DisplayName
            Assigned  = "Group"
            GroupName = $groupName
            GroupId   = $groupId
        }
        $Report.Add($ReportLine)
    }

    else {
        $ReportLine = [PSCustomObject]@{
            User      = $user.DisplayName
            Assigned  = "Direct"
            GroupName = "N/A"
            GroupId   = "N/A"
        }
        $Report.Add($ReportLine)
        Write-Host "$($user.DisplayName) is direct assigned" -ErrorAction SilentlyContinue -ForegroundColor Yellow
    }
}

# Display the results
$Report | Export-Csv -Path "C:\temp\LicenseAssignments.csv" -NoTypeInformation -Encoding utf8
$Report | Out-GridView -Title "License Assignments"
  • Dòng 58: Chỉnh sửa đường dẫn tệp CSV

Bước 3. Chạy tập lệnh Get-LicenAssignment PowerShell

Chạy lệnh bên dưới để chạy tập lệnh Get-LicenAssignment.ps1.

c:\scripts\.\Get-LicenseAssignment.ps1

Đầu ra PowerShell hiển thị giấy phép được kế thừa bởi một nhóm hay được cấp phát trực tiếp.

Lưu ý: Kết quả đầu ra hiển thị liệu có nhiều nhóm được chỉ định cho một người dùng hay không hoặc liệu người dùng có cả giấy phép được chỉ định trực tiếp và được chỉ định theo nhóm hay không. Nếu cả hai đều được gán cho một người dùng, hãy đọc bài viết Xóa giấy phép được gán trực tiếp cho người dùng có giấy phép nhóm.

Alison Bell is assigned by group - O365_Licenses_E3_Base
Alison Bell is assigned by group - O365_Licenses_E3_Exchange
Boris Campbell is assigned by group - O365_Licenses_E3_Exchange
Carol Baker is assigned by group - O365_Licenses_E3_Exchange
CloudOnly is direct assigned
Edward Lincoln is assigned by group - O365_Licenses_E3_Exchange
Jeffrey Welch is direct assigned
Jérôme User is direct assigned
Lauren Russell is direct assigned
Phil Peters is direct assigned
Richard Grant is assigned by group - O365_Licenses_E3_Exchange
Richard Grant is direct assigned
Zoë Roberts is direct assigned
Zoë Roberts is assigned by group - O365_Licenses_E3_Exchange

Out-GridView sẽ hiển thị tất cả thông tin bạn cần.

Bước 4. Mở báo cáo chuyển nhượng giấy phép

Tập lệnh Get-LicenAssignment.ps1 PowerShell xuất tất cả các chuyển nhượng giấy phép của người dùng Microsoft 365 sang tệp CSV.

Tìm tệp LinceAssignments.csv trong đường dẫn C:\temp.

Mở tệp CSV bằng ứng dụng yêu thích của bạn. Trong ví dụ của chúng tôi, đó là Microsoft Excel.

Báo cáo loại chuyển nhượng giấy phép người dùng Microsoft 365 trông rất tuyệt.

Lưu ý: Bạn nên chỉ định giấy phép Microsoft 365 với cấp phép dựa trên nhóm chứ không phải trực tiếp để bạn có thể quản lý dễ dàng.

Đọc thêm: Tạo người dùng Microsoft Entra ID từ CSV bằng PowerShell »

Phần kết luận

Bạn đã tìm hiểu cách kiểm tra xem giấy phép người dùng Microsoft 365 được cấp trực tiếp hay kế thừa từ một nhóm. Sử dụng PowerShell là cách tốt nhất để lấy thông tin giấy phép.

Bạn có thích bài viết này không? Bạn cũng có thể thích Xuất báo cáo người dùng không hoạt động của Microsoft 365. Đừng quên theo dõi chúng tôi và chia sẻ bài viết này.

Bài viết liên quan