ค้นหาเว็บไซต์

วิธีเพิ่มจำนวน KMS ปัจจุบัน (จำนวนไม่เพียงพอ)


ในบล็อกของเรา เราได้นำเสนอข้อมูลเกี่ยวกับการติดตั้ง การกำหนดค่า และการเปิดใช้งานผลิตภัณฑ์ Microsoft (MS Office และ Windows) โดยใช้บริการการจัดการคีย์ (KMS) วันนี้เราจะมาดูแนวคิดของตัวนับการเปิดใช้งาน KMS พิจารณาวิธีนับจำนวนการเปิดใช้งานไคลเอ็นต์และวิธีเพิ่มจำนวนคำขอเปิดใช้งาน KMS ด้วยตนเอง

ทำความเข้าใจการเปิดใช้งาน KMS

เรามาย้อนกลับไปที่พื้นฐานทางทฤษฎีของการเปิดใช้งานโวลุ่ม KMS ก่อน ภาพรวมขนาดใหญ่ของ Microsoft KMS Licensing มีอธิบายไว้ในรายละเอียดในบทความ KMS Activation FAQ

เคล็ดลับ ขอแนะนำให้อ่านบทความต่อไปนี้บนเว็บไซต์ของเรา:

  • การติดตั้งเซิร์ฟเวอร์ KMS บน Windows Server 2022/2019

  • การเปิดใช้งาน KMS สำหรับ MS Office 2016/2013

ตามโปรแกรม Microsoft Volume License จำนวนใบอนุญาตขั้นต่ำในหนึ่งแพ็คเกจคือ 25 รายการ ลูกค้า Volume License แต่ละรายจะได้รับคีย์ CSVLK พิเศษ (หรือคีย์โฮสต์ KMS) ซึ่งใช้เพื่อเปิดใช้งาน KMS ภายในองค์กร เซิร์ฟเวอร์ ไคลเอนต์ภายใน (ทั้ง Windows และ MS Office) สามารถเปิดใช้งานบนเซิร์ฟเวอร์นี้ด้วยความช่วยเหลือของเซิร์ฟเวอร์ KMS โดยไม่ต้องติดต่อเซิร์ฟเวอร์การเปิดใช้งานของ Microsoft ทางอินเทอร์เน็ต

ข้อผิดพลาดในการเปิดใช้งาน 0xC004F038: จำนวนที่รายงานโดย KMS ของคุณไม่เพียงพอ

อย่างไรก็ตาม ทันทีหลังจากการติดตั้งและเปิดใช้งาน เซิร์ฟเวอร์ KMS จะไม่เปิดใช้งานไคลเอ็นต์ที่ติดต่อกับเซิร์ฟเวอร์นั้น หากคุณพยายามเปิดใช้งานระบบปฏิบัติการ (Windows 7 Pro ในตัวอย่างนี้) บน KMS ใหม่ คุณจะได้รับข้อผิดพลาด:

เปิดใช้งาน Windows 7 รุ่น Professional

0xc004f038: Software Licensing Service รายงานว่าไม่สามารถเปิดใช้งานคอมพิวเตอร์ได้ จำนวนที่รายงานโดย Key Management Service (KMS) ของคุณไม่เพียงพอ โปรดติดต่อผู้ดูแลระบบของคุณ

เรื่องมีอยู่ว่าเซิร์ฟเวอร์ KMS มีสิ่งที่เรียกว่า จำนวนการเปิดใช้งาน (ตัวนับกิโลเมตร) ซึ่งค่าจะเพิ่มขึ้นหลังจากได้รับคำขอเปิดใช้งานแต่ละครั้งจากไคลเอ็นต์เครือข่าย เมื่อเข้าถึง เซิร์ฟเวอร์ KMS จะกำหนดตัวระบุเฉพาะ CMID (การระบุเครื่องไคลเอนต์) ให้กับไคลเอ็นต์แต่ละราย และใส่ลงในฐานข้อมูลในเครื่อง (แคช) ในกรณีนี้ OS ของคอมพิวเตอร์ที่ได้รับคำขอจะไม่เปิดใช้งานทันที คำขอเปิดใช้งานเหล่านี้สะสมอยู่ในแคช KMS ภายในบนเซิร์ฟเวอร์ เหตุการณ์นี้จะเกิดขึ้นจนกว่าจะมีการเอาชนะเกณฑ์ขั้นต่ำของคำขอเปิดใช้งานที่ได้รับภายใน 30 วันที่ผ่านมาในฐานข้อมูล KMS เกณฑ์นี้คือ 5 คำขอเปิดใช้งานจาก OS เซิร์ฟเวอร์ และ 25 คำขอเปิดใช้งานจากเดสก์ท็อป Windows OS (เกณฑ์การเปิดใช้งานสำหรับเดสก์ท็อป/ระบบปฏิบัติการเซิร์ฟเวอร์นั้นไม่ขึ้นต่อกัน เช่น ถ้าค่าของการนับ KMS เกิน 25 คำขอเปิดใช้งานจากระบบปฏิบัติการไคลเอ็นต์ เซิร์ฟเวอร์นี้ จะไม่เปิดใช้งาน OS ของเซิร์ฟเวอร์จนกว่าจำนวนคำขอเปิดใช้งานจากแพลตฟอร์มเหล่านี้จะถึง 5) หากไคลเอ็นต์ไม่ติดต่อเซิร์ฟเวอร์การเปิดใช้งาน KMS ในช่วง 30 วัน ไคลเอ็นต์จะถูกลบออกจากฐานข้อมูล KMS โดยอัตโนมัติ และตัวนับการเปิดใช้งาน KMS จะลดลงหนึ่งตัว

คุณสามารถรับค่า CMID บนคอมพิวเตอร์เครื่องใดเครื่องหนึ่งได้โดยใช้คำสั่งต่อไปนี้:

Get-WmiObject -class SoftwareLicensingService -ComputerName salarypc121 | Select-object ClientMachineID

คุณสามารถรีเซ็ต CMID ปัจจุบันได้โดยเรียกใช้ sysprep หรือใช้คำสั่ง:

slmgr /rearm 

(ต้องรีบูต)

สามารถดูจำนวนคำขอเปิดใช้งานทั้งหมดที่ได้รับจากเซิร์ฟเวอร์ KMS ได้ตลอดเวลาโดยใช้คำสั่ง:

slmgr /dli

ในตัวอย่างนี้ ค่าตัวนับ KMS (จำนวนปัจจุบัน) บนเซิร์ฟเวอร์ KMS คือ 50

หมายเหตุ เซิร์ฟเวอร์ KMS จะแคชเฉพาะ 50 CMID ล่าสุด (ในกรณีนี้ จำนวนไคลเอนต์ KMS บนเซิร์ฟเวอร์อาจมากกว่า 50 รายการอย่างมาก)

ในการรับค่าที่แน่นอนของตัวนับ ให้รันคำสั่งต่อไปนี้บนเซิร์ฟเวอร์ KMS:

cscript slmgr.vbs /dlv 98ebfe73-2084-4c97-932c-c0cd1643bea7
Key Management Service cumulative requests received from clients
Total requests received: 2599

ซึ่งหมายความว่าเซิร์ฟเวอร์ KMS นี้ได้รับคำขอเปิดใช้งาน 2599 จากลูกค้า

ระยะเวลาการเปิดใช้งานไคลเอนต์ KMS คือ 180 วัน และทุกๆ 7 วัน (7 วันถูกกำหนดโดยค่าเริ่มต้น สามารถเปลี่ยนได้ด้วยคำสั่ง slmgr.vbs /sri) ไคลเอนต์พยายามต่ออายุการเปิดใช้งาน (สำหรับ 180 วันข้างหน้า) หากไคลเอ็นต์ไม่ต่ออายุการเปิดใช้งานภายใน 180 วัน เซิร์ฟเวอร์ KMS จะลบ CMID ของไคลเอ็นต์ออกจากฐานข้อมูลและลดตัวนับการเปิดใช้งาน OS ของลูกค้ายังคงเปิดใช้งานภายใน 180 วัน ลูกค้าที่ไม่ได้ต่ออายุการเปิดใช้งานบนเซิร์ฟเวอร์ KMS ในช่วง 180 วัน จะเข้าสู่โหมดระยะเวลาผ่อนผัน

ในกรณีที่คุณพยายามเปิดใช้งานระบบปฏิบัติการไคลเอนต์บนเซิร์ฟเวอร์ KMS และจำนวนไม่เพิ่มขึ้น อาจเกิดจากสาเหตุต่อไปนี้:

  1. การทำสำเนา CMID (โดยปกติจะเกิดขึ้นเมื่อทำการโคลนระบบปฏิบัติการ)

  2. มากกว่าหนึ่งเซิร์ฟเวอร์ KMS ในเครือข่าย โดยค่าเริ่มต้น ลูกค้าสามารถค้นหาเซิร์ฟเวอร์ KMS ในโดเมนได้โดยอัตโนมัติโดยใช้ระเบียน DNS พิเศษ - srv _vlmcs._tcp (คุณสามารถรับชื่อเซิร์ฟเวอร์ได้โดยใช้คำสั่ง:

    nslookup -type=srv _vlmcs._tcp

    ). คุณสามารถระบุชื่อเซิร์ฟเวอร์ KMS ได้ด้วยตนเองดังนี้:

    slmgr /skms kms_server.a-d.site:1688

    );

  3. คีย์ที่ระบุในไคลเอ็นต์ไม่ถูกต้อง ตัวอย่างเช่น แทนที่จะระบุ GVLK (Generic Volume License Key) สาธารณะ มีการระบุ MAK/รหัสขายปลีก หรือรหัสที่ไม่สอดคล้องกับระบบปฏิบัติการ

สคริปต์เพื่อเพิ่มจำนวนเซิร์ฟเวอร์ KMS ปัจจุบัน

ในบางกรณีแม้ว่าจะซื้อ VLC แล้วก็ตาม การหาจำนวนไคลเอนต์ที่จำเป็นในทันทีเพื่อเอาชนะเกณฑ์การเปิดใช้งานของเซิร์ฟเวอร์ KMS นั้นทำได้ยาก (ปัญหานี้เกี่ยวข้องอย่างยิ่งกับเครือข่ายขนาดเล็กหรือเครือข่ายแยก) เมื่อไคลเอ็นต์พยายามเปิดใช้งานบนเซิร์ฟเวอร์ ในกรณีนี้ ข้อผิดพลาด 0xC004F038 จะปรากฏขึ้น

ในกรณีนี้ ผู้ดูแลระบบเริ่มคิดถึงการเพิ่มตัวนับการเปิดใช้งาน KMS ด้วยตนเอง อย่างไรก็ตาม มันไม่ง่ายอย่างนั้น… ทั้ง sysprep และการเปลี่ยนที่อยู่ MAC สำหรับการ์ดเครือข่ายไม่ได้ช่วยให้คุณโกงเซิร์ฟเวอร์ KMS ได้ ในฐานะที่เป็นรุ่นที่ค่อนข้างได้รับความนิยม ขอแนะนำให้สร้างจำนวนเครื่องเสมือนที่ขาดหายไปและเปิดใช้งานบนเซิร์ฟเวอร์ KMS (เครื่องเสมือนต้องไม่ซ้ำกัน) อย่างไรก็ตาม วิธีนี้ค่อนข้างใช้เวลานานและจำเป็นต้องรักษาให้เครื่องเหล่านี้ทำงานได้ทั้งหมด (หรือต้องปรับใช้ใหม่หรือเปิดเครื่องทุกๆ 180 วัน)

เป็นทางเลือกที่ง่ายกว่า เราขอแนะนำให้คุณใช้สคริปต์ cmd ต่อไปนี้ที่อนุญาตให้ เพิ่มจำนวนการเปิดใช้งานบนเซิร์ฟเวอร์ KMS ติดตั้งระบบปฏิบัติการเวอร์ชันที่จำเป็น (ในตัวอย่างนี้คือ Windows 7 Professional) สร้างไดเร็กทอรีและคัดลอกไฟล์ BAT ต่อไปนี้ลงในไดเร็กทอรี ในโฟลเดอร์เดียวกันให้สร้างไฟล์ว่างสองไฟล์ชื่อ:

7B296FB0-376B-497e-B012-9C450E1B7327-5P-0.C7483456-A289-439d-8115-601632D005A0
7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0

วิ่ง เพิ่ม_kms_count.bat:


@echo off
set skms=kms_server.a-d.site
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

จำนวนจุดในบรรทัดที่ 3 คือจำนวนคำขอที่ต้องการไปยังเซิร์ฟเวอร์ KMS (ในตัวอย่างนี้ เราจำลองการเข้าถึงไคลเอ็นต์ที่ไม่ซ้ำกัน 25 รายการ)

ในสคริปต์ มีการเพิ่มการหน่วงเวลา 5 วินาที; ในบางกรณี ระบบแจ้งว่าไฟล์ไม่ว่าง และไม่นับความพยายามในการเปิดใช้งาน

สำคัญ อย่าเรียกใช้สคริปต์นี้บนเซิร์ฟเวอร์ KMS เอง! มิฉะนั้น คุณจะต้องเปิดใช้งานเซิร์ฟเวอร์ KMS อีกครั้ง (อนุญาตเพียง 6 ครั้งในการเปิดใช้งานคีย์ VLC เดียว)

หลังจากเรียกใช้สคริปต์แล้ว ให้ตรวจสอบจำนวน KMS:

slmgr /dli

ค่าของจำนวนปัจจุบันควรเพิ่มขึ้น 25 หลังจากนั้นเซิร์ฟเวอร์ KMS จะเปิดใช้งานระบบเดสก์ท็อปทั้งหมดที่เข้าถึงได้ (ไม่ว่าจะเป็น Windows 7, 8 หรือ Windows 10) หลังจากนั้น สคริปต์นี้ (หากมีไคลเอ็นต์จริงไม่เพียงพอ) ควรเรียกใช้ทุกๆ 30 วัน เนื่องจากจำนวนการเปิดใช้งานจะลดลงหากไม่มีคำขอเปิดใช้งานไปยังเซิร์ฟเวอร์

วิธีเพิ่มจำนวนการเปิดใช้งานโดยใช้สแน็ปช็อต VM

หากสคริปต์ด้านบนไม่ช่วยให้คุณเพิ่มจำนวนการเปิดใช้งานบนเซิร์ฟเวอร์ KMS คุณสามารถเพิ่มค่าตัวนับได้โดยใช้เทคโนโลยีสแน็ปช็อตของเครื่องเสมือนใน Hyper-V/VMWare อัลกอริทึมมีดังนี้:

  1. สร้าง VM ใหม่ด้วย Windows 10 (อย่าเปิดใช้งานและอย่าป้อนคีย์ GVLK ทางที่ดีควรตัดการเชื่อมต่อจากเครือข่ายชั่วคราว)

  2. สร้าง 2 สคริปต์ต่อไปนี้บนเดสก์ท็อป VM ซึ่งหนึ่งในนั้นรีเซ็ต CMID และเปลี่ยนชื่อโฮสต์ อันที่สองทำการเปิดใช้งานระบบปฏิบัติการ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.a-d.site
    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
  3. ใส่สคริปต์ kms_activate.bat ในการเริ่มต้น Windows;

  4. สร้างภาพรวมของเครื่องเสมือน

  5. เรียกใช้สคริปต์ Rearm.bat ด้วยสิทธิ์ของผู้ดูแลระบบ เครื่องเสมือนจะรีบูตและเปิดใช้งานบนเซิร์ฟเวอร์ KMS

  6. ย้อนกลับ VM ไปยังสถานะก่อนหน้า

  7. ทำตามขั้นตอนที่ 5, 6 ตามจำนวนคำขอเปิดใช้งานที่คุณต้องการเพิ่มในเซิร์ฟเวอร์ KMS

บทความที่เกี่ยวข้อง