Trong bài viết này, chúng tôi sẽ chỉ một số cách để kiểm tra loại giấy phép và trạng thái kích hoạt của bản sao Microsoft Office 2022/2019/2016 và Office 365 trên máy tính Windows. Chúng tôi sẽ thảo luận cách kiểm tra đơn giản trong giao diện đồ họa của ứng dụng Office và cách truy vấn máy tính từ xa bằng PowerShell.
Kiểm tra loại giấy phép và trạng thái kích hoạt Office 2019/2016 hoặc Office 365
Sau khi cài đặt và kích hoạt Office 2022/2019/2016 hoặc Office 365 (Microsoft 365) trên máy tính, bạn có thể đảm bảo bản sao Office của bạn được kích hoạt đúng trong bất kỳ ứng dụng nào (Word, Excel, PowerPoint, Outlook) ở mục File -> Account. Chữ "Product Activated" cho thấy bản sao Office đã được kích hoạt. Nếu bạn thấy "Product Activation Required", thì instance MS Office của bạn cần được kích hoạt.
Để kích hoạt MS Office, bạn cần nhập product key hoặc đăng nhập với Microsoft account (nếu giấy phép liên kết với tài khoản online). Trong mạng doanh nghiệp, có thể kích hoạt MS Office trên KMS server on-premise (chi tiết hơn xem bài "KMS activation of Office 2019/2016".
Bạn có thể lấy thông tin chi tiết hơn về loại và trạng thái kích hoạt MS Office bằng công cụ dòng lệnh ospp.vbs (đây là script VBS cài trên máy tính cùng với MS Office).
Trước hết, bạn cần biết độ bit của Office (32- hoặc 64-bit). Để làm vậy, khởi động bất kỳ chương trình Office nào (Word, Excel, Outlook) và chọn File -> Account -> About. Cửa sổ tiếp theo sẽ hiển thị độ bit của ấn bản Office (Trong ví dụ, đây là 64-bit).

Bây giờ bạn cần chạy elevated command prompt và truy cập thư mục, đường dẫn phụ thuộc vào độ bit và phiên bản Windows và Office:
- Nếu bạn dùng Windows x64 và Office 32-bit (trường hợp phổ biến nhất):
CD "%SystemDrive%\Program Files (x86)\Microsoft Office\Office16 - Windows x86 và Office 32-bit:
CD "%SystemDrive%\Program Files\Microsoft Office\Office16" - Windows x64 và Office 64-bit:
CD "%SystemDrive%\Program Files\Microsoft Office\Office16"
Kiểm tra trạng thái kích hoạt Office bằng lệnh:
cscript ospp.vbs /dstatus

Xem kỹ output trả về bởi lệnh ospp.vbs.
Theo thông tin công cụ cung cấp, bản sao Office 2016 này được kích hoạt (LICENSE STATUS: —LICENSED—) trên KMS server (KMS machine name) sử dụng GVLK cho Office 2016 Pro Plus (Last 5 characters of installed product key).
Giấy phép hợp lệ 176 ngày (REMAINING GRACE). Nếu KMS server khả dụng, giấy phép tự động gia hạn 180 ngày mỗi 7 ngày (KMS Activation FAQ).
PRODUCT ID: 00339-10000-00000-AA224 SKU ID: d450596f-894d-49e0-966a-fd39ed4c4c64 LICENSE NAME: Office 16, Office16ProPlusVL_KMS_Client edition LICENSE DESCRIPTION: Office 16, VOLUME_KMSCLIENT channel BETA EXPIRATION: 01.01.1601 LICENSE STATUS: ---LICENSED--- REMAINING GRACE: 176 days (253510 minute(s) before expiring) Last 5 characters of installed product key: WFG99 Activation Type Configuration: ALL KMS machine name from DNS: woshub.com:1688 KMS machine registry override defined: woshub.com:1688 Activation Interval: 120 minutes Renewal Interval: 10080 minutes KMS host caching: Enabled
Kết quả có thể chứa:
LICENSE NAME: Office 16, Office16O365ProPlusR_Grace edition LICENSE DESCRIPTION: Office 16, RETAIL (Grace) channel LICENSE STATUS: ---OOB_GRACE--- ERROR CODE: 0x4004F00C ERROR DESCRIPTION: The Software Licensing Service reported that the application is running within the valid grace period.
Điều này có nghĩa là bản sao Office 365 trên máy tính được kích hoạt ở chế độ evaluation (dùng thử).

Loại giấy phép được chỉ định trong chuỗi LICENSE NAME. Trong ví dụ này, đây là Office 16, Office16ProPlusVL_KMS_Client edition. Điều đó có nghĩa bạn cài phiên bản volume licensed MS Office 2016 ProPlus trên máy tính.
Lưu ý. Có thể có dữ liệu khác trong chuỗi LICENSE NAME thay vì KMS_Client edition. Ví dụ:
- MAK edition — dùng MAK activation key;
- Retail edition – sản phẩm bán lẻ kích hoạt bằng retail key;
- Subscription (TIMEBASED_SUB channel) – phiên bản MS Office dựa trên đăng ký (time-based).
Nếu lệnh trả về <No installed product keys detected>, thì không có giấy phép Office trên thiết bị này.

Kiểm tra trạng thái kích hoạt Office qua PowerShell
Bạn có thể liệt kê giấy phép Office cài trên máy tính bằng lệnh PowerShell sau:
Get-CimInstance SoftwareLicensingProduct| where {$_.name -like "*office*"}|select name,licensestatus
Trong ví dụ này, lệnh trả về có hai giấy phép Office cài trên máy tính, một trong đó được kích hoạt (LicenseStatus = 1).

Để tiện lợi, bạn có thể chuyển mã trạng thái kích hoạt thành dạng dễ đọc hơn.
enum Licensestatus{
Unlicensed = 0
Licensed = 1
Out_Of_Box_Grace_Period = 2
Out_Of_Tolerance_Grace_Period = 3
Non_Genuine_Grace_Period = 4
Notification = 5
Extended_Grace = 6
}
Get-CimInstance -ClassName SoftwareLicensingProduct | where {$_.name -like "*office*"}| select Name, ApplicationId, @{N='LicenseStatus'; E={[LicenseStatus]$_.LicenseStatus}}

Nếu đăng ký Office 365 của bạn được quản lý từ đám mây Microsoft, bạn có thể lấy giấy phép gán cho người dùng trong Microsoft 365 bằng cmdlet Get-AzureADUser từ module Azure AD PowerShell:
Get-AzureADUser -ObjectId maxbak@woshub.onmicrosoft.com | Select -ExpandProperty AssignedPlans
Bạn có thể lấy trạng thái kích hoạt MS Office từ máy tính từ xa:
Get-CimInstance -ComputerName PC33220de SoftwareLicensingProduct| where {$_.name -like "*office*"}|select name,licensestatus
Trong miền Active Directory, bạn có thể lấy trạng thái kích hoạt Office trên máy tính từ xa bằng script PowerShell đơn giản. Bạn có thể tạo danh sách máy tính hoạt động trong OU cụ thể bằng cmdlet Get-ADComputer từ module PowerShell Active Directory. Sau đó truy vấn trạng thái kích hoạt giấy phép Microsoft Office cho từng máy.
Máy tính từ xa phải bật và cấu hình WinRM. Chúng ta kiểm tra khả dụng của máy từ xa bằng ping đơn giản qua cmdlet Test-NetConnection.
enum Licensestatus{
Unlicensed = 0
Licensed = 1
Out_Of_Box_Grace_Period = 2
Out_Of_Tolerance_Grace_Period = 3
Non_Genuine_Grace_Period = 4
Notification = 5
Extended_Grace = 6
}
$Comps=Get-ADComputer -Filter {enabled -eq "true"} -Filter -SearchBase 'OU=Munich,OU=DE,DC=woshub,DC=com'
$result=@()
Foreach ($comp in $comps)
{
If ((Test-NetConnection $comp.name -WarningAction SilentlyContinue).PingSucceeded -eq $true)
{
$result+= Get-CimInstance -ClassName SoftwareLicensingProduct -ComputerName $comp.name| where {$_.name -like "*office*"}| select PSComputerName,Name, ApplicationId, @{N='LicenseStatus'; E={[LicenseStatus]$_.LicenseStatus}}
}
}
$result|Out-GridView

Kết quả có thể xuất ra cmdlet Out-GridView.
Script PowerShell này cho phép bạn lấy trạng thái kích hoạt Office trên tất cả máy tính trong mạng.
Script PowerShell này, với sửa đổi nhỏ, cũng có thể dùng để kiểm tra trạng thái kích hoạt Windows trên máy tính từ xa.
Xóa popup kích hoạt Office 365/2016: Let's Get Started
Trong một số trường hợp, ngay cả trên phiên bản Office 2016/2019/365 đã kích hoạt đầy đủ, bạn có thể thấy popup sau khi cố gắng khởi động bất kỳ ứng dụng Office nào:
Let's get started
Choose one
- Try – Dùng thử miễn phí Office 365
- Buy – Mua Office từ Microsoft Store
- Activate – Nhập Product Key hoặc đăng nhập

Bạn có thể đóng cửa sổ này, và nó không giới hạn tính năng Office, nhưng nó xuất hiện mỗi lần bạn khởi động ứng dụng Office, rất phiền toái. Tôi đã tìm ra cách xóa popup kích hoạt này.
Như đã tiết lộ, vấn đề liên quan đến Office 365 pre-installed đã bị gỡ để cài Office 2016 thay thế. Tôi đã thử dùng công cụ gỡ cài đặt trên trang Microsoft để xóa cửa sổ này, nhưng chúng không giúp.
Phương pháp duy nhất hoạt động là xóa khóa registry (tùy thuộc vào độ bit hệ thống):
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\OEM
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\OEM
Nhanh hơn làm bằng PowerShell:
Remove-Item –Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\OEM" –Recurse
Remove-Item –Path "HKLM:\ SOFTWARE\Microsoft\Office\16.0\Common\OEM" –Recurse

Chỉ cần đóng tất cả ứng dụng Office và khởi động lại chúng. Thông báo kích hoạt Office sẽ biến mất.