Trên blog của chúng tôi, chúng tôi đã cung cấp thông tin về cài đặt, cấu hình và kích hoạt các sản phẩm của Microsoft (MS Office và Windows) bằng Dịch vụ quản lý khóa (KMS). Hôm nay chúng ta sẽ xem xét khái niệm về bộ đếm kích hoạt KMS, xem xét cách đếm số lượng kích hoạt của khách hàng và các cách để tăng số lượng yêu cầu kích hoạt KMS theo cách thủ công.
Nội dung:
- Hiểu về kích hoạt KMS
- Lỗi kích hoạt 0xC004F038:Số lượng được báo cáo bởi KMS của bạn không đủ
- Tập lệnh để tăng số lượng hiện tại của máy chủ KMS
- Cách tăng số lần kích hoạt bằng cách sử dụng ảnh chụp nhanh VM
Hiểu về kích hoạt KMS
Trước tiên, chúng ta hãy quay lại những kiến thức cơ bản về lý thuyết của việc kích hoạt khối lượng KMS. Tổng quan lớn về Cấp phép KMS của Microsoft được mô tả chi tiết trong bài viết Câu hỏi thường gặp về kích hoạt KMS.
Mẹo . Bạn cũng nên đọc các bài viết sau trên trang web của chúng tôi:- Cài đặt máy chủ KMS trên Windows Server 2012 R2 / 2016
- Kích hoạt KMS cho MS Office 2016/2013
Theo chương trình Giấy phép Số lượng lớn của Microsoft, số lượng giấy phép tối thiểu trong một gói là 25. Mỗi khách hàng Giấy phép Số lượng lớn nhận được một CSVLK đặc biệt khóa (hoặc khóa máy chủ KMS) được sử dụng để kích hoạt máy chủ KMS nội bộ của công ty. Máy khách nội bộ (cả Windows và MS Office) có thể được kích hoạt trên máy chủ này với sự trợ giúp của máy chủ KMS mà không cần phải liên hệ với máy chủ kích hoạt của Microsoft qua Internet.
Lỗi kích hoạt 0xC004F038:Số lượng được báo cáo bởi KMS của bạn không đủ
Tuy nhiên, ngay sau khi cài đặt và kích hoạt, máy chủ KMS sẽ không kích hoạt các máy khách đã liên hệ với nó. Nếu bạn cố gắng kích hoạt hệ điều hành của mình (trong ví dụ này là Windows 7 Pro) trên KMS mới, bạn sẽ gặp lỗi:
Kích hoạt Windows 7, phiên bản Professional0xc004f038:Dịch vụ cấp phép phần mềm đã báo cáo rằng không thể kích hoạt máy tính. Số lượng do Dịch vụ quản lý khóa (KMS) của bạn báo cáo là không đủ. Xin vui lòng liên hệ với quản trị hệ thống của bạn.
Vấn đề là máy chủ KMS có cái gọi là số lần kích hoạt (bộ đếm km) giá trị nào được tăng lên sau mỗi lần nhận được yêu cầu kích hoạt từ máy khách mạng. Khi được truy cập, máy chủ KMS sẽ chỉ định một số nhận dạng duy nhất CMID (nhận dạng máy khách) đến từng máy khách và đưa nó vào cơ sở dữ liệu cục bộ (bộ nhớ cache). Trong trường hợp này, hệ điều hành của máy tính nhận được yêu cầu sẽ không được kích hoạt ngay lập tức. Các yêu cầu kích hoạt này được tích lũy trong bộ đệm KMS nội bộ trên máy chủ. Điều này xảy ra cho đến khi vượt qua ngưỡng yêu cầu kích hoạt tối thiểu nhất định nhận được trong vòng 30 ngày qua trong cơ sở dữ liệu KMS. Ngưỡng này là 5 yêu cầu kích hoạt từ hệ điều hành máy chủ và 25 yêu cầu kích hoạt từ hệ điều hành Windows dành cho máy tính để bàn (ngưỡng kích hoạt cho hệ điều hành máy tính để bàn / máy chủ là độc lập, tức là nếu giá trị của số lượng KMS vượt quá 25 yêu cầu kích hoạt từ hệ điều hành máy khách, máy chủ này sẽ không kích hoạt hệ điều hành máy chủ cho đến khi số lượng yêu cầu kích hoạt từ nền tảng này đạt đến 5). Nếu khách hàng không liên hệ với máy chủ kích hoạt KMS trong vòng 30 ngày, nó sẽ tự động bị xóa khỏi cơ sở dữ liệu KMS và bộ đếm kích hoạt KMS giảm đi một.
Bạn có thể lấy giá trị CMID trên một máy tính cụ thể bằng lệnh sau:
Get-WmiObject -class SoftwareLicensingService -ComputerName salarypc121 | Select-object ClientMachineID
Bạn có thể đặt lại CMID hiện tại bằng cách chạy sysprep hoặc sử dụng lệnh:
slmgr /rearm
(cần khởi động lại).
Tại bất kỳ thời điểm nào, có thể xem tổng số yêu cầu kích hoạt mà máy chủ KMS nhận được bằng lệnh:
slmgr /dli
Trong ví dụ này, giá trị bộ đếm KMS (Số lượng hiện tại) trên máy chủ KMS là 50.
Lưu ý . Máy chủ KMS chỉ lưu trữ 50 CMID cuối cùng (trong trường hợp này, số lượng máy khách KMS trên máy chủ có thể nhiều hơn đáng kể 50).
Để có được giá trị chính xác của bộ đếm, hãy chạy lệnh sau trên máy chủ KMS:
cscript slmgr.vbs /dlv 98ebfe73-2084-4c97-932c-c0cd1643bea7
Key Management Service cumulative requests received from clients
Total requests received: 2599
Điều này có nghĩa là máy chủ KMS này đã nhận được 2599 yêu cầu kích hoạt từ máy khách.
Khoảng thời gian kích hoạt ứng dụng khách KMS là 180 ngày và 7 ngày một lần (7 ngày được đặt theo mặc định, nó có thể được thay đổi bằng lệnh slmgr.vbs / sri) khách hàng cố gắng gia hạn kích hoạt (trong 180 ngày tiếp theo). Nếu trong vòng 180 ngày mà khách hàng không gia hạn kích hoạt, máy chủ KMS sẽ xóa CMID của khách hàng khỏi cơ sở dữ liệu và giảm bộ đếm kích hoạt. Hệ điều hành của khách hàng vẫn được kích hoạt trong vòng 180 ngày. Ứng dụng khách chưa gia hạn kích hoạt trên máy chủ KMS trong 180 ngày, ứng dụng này sẽ chuyển sang chế độ thời gian gia hạn.
Trong trường hợp nếu bạn cố gắng kích hoạt hệ điều hành khách trên máy chủ KMS và số lượng không tăng, có thể do những lý do sau:
- Nhân bản CMID (thường xảy ra khi sao chép một hệ điều hành);
- Nhiều máy chủ KMS trong mạng. Theo mặc định, ứng dụng khách có thể tự động tìm máy chủ KMS trong miền bằng bản ghi DNS đặc biệt - srv _vlmcs._tcp (bạn có thể lấy tên của máy chủ bằng lệnh:
nslookup -type=srv _vlmcs._tcp
). Bạn có thể chỉ định thủ công tên máy chủ KMS như sau:slmgr /skms kms_server.woshub.com:1688
); - Khóa không hợp lệ được chỉ định trên máy khách. Ví dụ:thay vì GVLK công khai (Khóa cấp phép số lượng chung), khóa MAK / khóa bán lẻ được chỉ định hoặc khóa không tương ứng với hệ điều hành.
Tập lệnh để tăng số lượng hiện tại của máy chủ KMS
Trong một số trường hợp, ngay cả khi VLC đã được mua, rất khó để tìm được số lượng khách hàng cần thiết ngay lập tức để vượt qua ngưỡng kích hoạt của máy chủ KMS (vấn đề đặc biệt liên quan đến các mạng nhỏ hoặc bị cô lập). Khi máy khách đang cố gắng kích hoạt trên máy chủ trong trường hợp này, lỗi 0xC004F038 xuất hiện.
Trong trường hợp này, quản trị viên bắt đầu nghĩ đến việc tăng bộ đếm kích hoạt KMS theo cách thủ công. Tuy nhiên, nó không đơn giản như vậy… Cả sysprep, cũng như thay đổi địa chỉ MAC cho card mạng đều không giúp bạn lừa được máy chủ KMS. Là một biến thể khá phổ biến, bạn nên tạo số lượng máy ảo còn thiếu và kích hoạt chúng trên máy chủ KMS (các máy ảo phải là duy nhất). Tuy nhiên, phương pháp này khá tốn thời gian và yêu cầu giữ tất cả các máy này hoạt động (hoặc triển khai lại hoặc bật lại 180 ngày một lần).
Để thay thế dễ dàng hơn, chúng tôi khuyên bạn nên sử dụng tập lệnh cmd sau cho phép tăng số lượng kích hoạt trên máy chủ KMS . Cài đặt phiên bản hệ điều hành cần thiết (trong ví dụ này là Windows 7 Professional), tạo một thư mục và sao chép tệp BAT sau vào đó. Trong cùng một thư mục, hãy tạo hai tệp trống có tên:
7B296FB0-376B-497e-B012-9C450E1B7327-5P-0.C7483456-A289-439d-8115-601632D005A0
7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0
Chạy boost_kms_count.bat:
@echo off
set skms=kms_server.woshub.com
for %%i in (. . . . . . . . . . . . . . . . . . . . . . . . . .) do call :Act %skms%
slmgr /ato
sc stop sppsvc
goto :end
:Act
sc stop sppsvc
xcopy "7B296FB0-376B-497e-B012-9C450E1B7327-5P-0.C7483456-A289-439d-8115-601632D005A0" "%systemroot%\system32\*" /H /R /K /Y
xcopy "7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0" "%systemroot%\system32\*" /H /R /K /Y
sc start sppsvc
cscript.exe "%systemroot%\system32\slmgr.vbs" /skms %1
ping 127.0.0.1 -n 5 > nul
cscript.exe "%systemroot%\system32\slmgr.vbs" /ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
cscript.exe "%systemroot%\system32\slmgr.vbs" /ato
sc stop sppsvc
:end
Số dấu chấm ở dòng 3 là số lượng yêu cầu bắt buộc đối với máy chủ KMS (trong ví dụ này, chúng tôi mô phỏng quyền truy cập của 25 máy khách duy nhất)
Trong script, độ trễ 5 giây được thêm vào; trong một số trường hợp, hệ thống trả về rằng các tệp đang bận và lần kích hoạt không được tính.
Quan trọng . Không chạy tập lệnh này trên chính máy chủ KMS! Nếu không, bạn sẽ cần phải kích hoạt lại máy chủ KMS (chỉ cho phép 6 lần thử kích hoạt một khóa VLC).Sau khi tập lệnh được thực thi, hãy kiểm tra số lượng KMS:
slmgr /dli
Giá trị của số hiện tại sẽ tăng lên 25. Sau đó, máy chủ KMS sẽ kích hoạt tất cả các hệ thống máy tính để bàn đang truy cập nó (cho dù là Windows 7, 8 hay Windows 10). Sau đó, tập lệnh này (nếu không có đủ máy khách thực) sẽ được chạy 30 ngày một lần, vì số lượng kích hoạt sẽ giảm nếu không có yêu cầu kích hoạt đến máy chủ.
Cách tăng số lần kích hoạt bằng cách sử dụng ảnh chụp nhanh VM
Nếu tập lệnh trên không giúp bạn tăng số lần kích hoạt trên máy chủ KMS, bạn có thể tăng giá trị bộ đếm bằng cách sử dụng công nghệ chụp nhanh máy ảo trong Hyper-V / VMWare. Thuật toán như sau:
- Tạo một máy ảo mới với Windows 10 (không kích hoạt nó và không nhập khóa GVLK, tốt nhất là tạm thời ngắt kết nối nó khỏi mạng);
- Tạo 2 tập lệnh sau trên máy tính để bàn VM, một trong số đó đặt lại CMID và thay đổi tên máy chủ. Thao tác thứ hai thực hiện kích hoạt hệ điều hành. Rearm.bat
start “cmd /c slmgr /rearm" timeout /t 15 /nobreak > NUL
wmic computersystem where name="%COMPUTERNAME%" call rename name="vmpc-%random%"
shutdown /r /t 0 kms_activate.bat
set skms= kms_server.woshub.com
sc start sppsvc
script.exe "%systemroot%\system32\slmgr.vbs" /skms %1
cscript.exe "%systemroot%\system32\slmgr.vbs" /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
cscript.exe "%systemroot%\system32\slmgr.vbs" /ato - Đặt tập lệnh kms_activate.bat vào khởi động Windows;
- Tạo ảnh chụp nhanh của máy ảo;
- Chạy tập lệnh Rearm.bat với các đặc quyền của quản trị viên. Máy ảo sẽ khởi động lại và kích hoạt trên máy chủ KMS;
- Khôi phục máy ảo về trạng thái trước đó;
- Thực hiện theo các bước 5, 6 nhiều lần với số lượng yêu cầu kích hoạt bạn muốn thêm trên máy chủ KMS.