Опаковане на брояч на KMS сървъра (недостатъчна стойност на брояча)

На страниците на нашия сайт многократно сме докосвали характеристиките на инсталирането, конфигурирането и работата на услугата за управление на ключове на Microsoft KMS (Key Management Service). Днес ще разгледаме концепцията за брояч за активиране на KMS сървър, функции за отчитане на броя на клиентските активи на активационен сървър, начините за насилване на брояч за броя на активациите и защо е необходимо всичко това.

Съдържание:

  • Принципи на KMS
  • Грешка при активиране на KMS 0xC004F038 - недостатъчна стойност на брояча
  • Скрипт за опаковане на KMS брояч
  • Увеличаване брояча за активиране с помощта на моментни снимки на виртуална машина

Принципи на KMS

Още веднъж, обратно към теоретичните основи на функционирането на KMS.

съвет. Препоръчваме ви първо да прочетете следните статии на нашия уебсайт:

  • Инсталирайте KMS Server на Windows Server 2012 R2
  • Активиране на Windows с KMS (KMS Активиране на Windows 8.1, 2012 R2)
  • Активиране на ADBA, активиране на KMS на MS Office 2013, 2010
Страхотен преглед на системата за активиране на KMS на Microsoft е представен в статията с често задавани въпроси относно технологията за активиране на KMS. .

Според Програмата за обемно лицензиране на Microsoft (Volume License) минималният брой лицензи, продадени в един пакет лицензи, е 25. Всеки клиент на корпоративен лиценз получава специален ключ за активиране CSVLK (или хост ключ KMS), с който се активира вътрешният KMS сървър на компанията. В бъдеще клиентите (както Windows OS, така и MS Office офис пакет) в мрежата на компанията могат да бъдат активирани на този KMS сървър, без да се налага достъп до сървърите за активиране на Microsoft в Интернет.

Грешка при активиране на KMS 0xC004F038 - недостатъчна стойност на брояча

Всички администратори обаче неизбежно срещат факта, че веднага след инсталирането и активирането на KMS сървъра не активира операционните системи на клиентите, които се свързват с него. Когато се опитвате да активирате ОС на нов KMS сървър (в този пример Windows 7 Pro), се появява грешка:

Активиране на Windows 7, Професионално издание

0xc004f038: Услугата за лицензиране на софтуер съобщи, че компютърът не може да бъде активиран. Броят, отчетен от вашата служба за управление на ключове (KMS), е недостатъчен. Моля, свържете се със системния си администратор.


В руската версия на Windows 7 грешката изглежда така:

Грешка: 0xc004f038. Услугата за лицензиране на софтуер съобщи, че активирането не е възможно за този компютър. Отчетната стойност, отчетена от Службата за управление на ключове (KMS), не е достатъчна. Свържете се със системния си администратор.

Факт е, че на KMS сървъра има т.нар. брояч за активиране (км броене) която се увеличава с една при получаване на нова заявка за активиране от клиент в мрежата. При достъп до KMS сървърът присвоява уникален идентификатор на всеки клиент. CMID (идентификация на клиентска машина) и го поставя в своята база данни. В този случай компютърната ОС, от която е получена заявката, не се активира веднага. Тези заявки за активиране се натрупват във вътрешния кеш на KMS сървъра. Това се случва, докато в базата данни на KMS не бъде достигнат определен минимален праг на заявки за активиране, получени от клиенти през последните 30 дни. Този праг е 5 заявки за активиране от ОС на сървъра или 25 заявки от ОС на Windows клиент (праговете за активиране за операционни системи / настолни сървъри са независими, т.е. ако KMS броячът на сървъра за клиентски системи надвишава 25, този сървър все още няма да бъде активирайте северната ОС, докато броят на заявките за активиране от тези платформи не достигне 5). Ако клиентът не се свърже със сървъра за активиране на KMS в рамките на 30 дни, той автоматично се изтрива от базата данни на KMS и броячът за активиране се намалява с един.

Вземете стойност CMID на конкретен компютър можете да използвате следната команда:

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

Можете да нулирате текущия CMID, като пуснете sysprep или използвате командата:

slmgr / задръжка  (трябва рестартиране).

По всяко време общият брой заявки за активиране, получени от KMS сървъра, може да бъде прегледан чрез командата:

slmgr / dli

В този пример стойността на брояча на KMS сървъра е 50 (Текущ брой).

забележка. KMS сървърът кешира само последните 50 CMID (т.е. в този случай броят на клиентите на KMS сървъра може да бъде значително по-голям от 50).

За да получите точната стойност на брояча, изпълнете следната команда на KMS сървъра:

cscript slmgr.vbs / dlv 98ebfe73-2084-4c97-932c-c0cd1643bea7

Кумулативни заявки, получени от клиенти на Key Management Service
Общо получени заявки: 2563

Т.е. KMS сървърът получи 2563 заявки за активиране от клиенти.

Период на активиране на клиента на KMS сървър - 180 дни и всеки 7 дни (по подразбиране 7 дни, можете да го промените с командата slmgr.vbs / sri) клиентът се опитва да поднови активирането (за същите 180 дни). Ако клиентът не поднови активирането в рамките на 180 дни, KMS сървърът премахва CMID на клиента от базата данни и намалява брояча за активиране. В същото време ОС на клиента счита, че се активира в рамките на 180 дни. Ако клиентът не е подновил активирането на KMS сървъра през това време, той преминава в режим на гратисен период.

Ако се опитвате да активирате клиентската ОС на KMS сървъра и броячът не се увеличава, това може да се дължи на следните причини:

  • Дублиране на CMID (обикновено това се дължи на клонирането на ОС)
  • Наличието в мрежата на други KMS сървъри. По подразбиране клиентите могат автоматично да намерят KMS сървър в домейн, използвайки специален DNS запис.  - SRV _vlmcs._tcp (можете да получите името на сървъра, към което този запис сочи с командата nslookup -type = srv _vlmcs._tcp). В този случай можем ръчно да определим конкретен KMS сървър като този: slmgr / skms kms_server.winitpro.ru:1688)
  • Грешният ключ се използва на клиента. Например вместо отворения GVLK (Generic Volume License Key) се посочва MAK / ключ за търговия на дребно или се посочва ключ, който не съвпада с използваната ОС..

Скрипт за опаковане на KMS брояч

В някои случаи, дори ако имате закупен VLC ключ, може да бъде трудно веднага да получите точния брой клиенти, необходими, за да преодолеете прага на активиране на KMS сървъра и да започнете да активирате клиенти (проблемът е особено важен за малки или изолирани мрежи). Когато активирате клиента на сървъра в този случай, ще получите грешка 0xC004F038.

В този случай администраторът започва да мисли за изкуствено увиване на брояча за активиране на KMS. Въпреки това, не всичко е толкова просто ... Нито sysprep, нито промяната на MAC адреса на мрежовата карта няма да ви помогне да измамите KMS сървъра. Като доста популярна опция се предлага да създадете липсващия брой виртуални машини и да ги активирате на KMS сървъра (виртуалните машини трябва да са уникални и да не са създадени от един единствен шаблон). Но този метод отнема доста време и изисква поддръжката на тези виртуални машини (или тяхното преразпределяне, включване и активиране на всеки 180 дни).

Като по-проста алтернатива ви съветваме да използвате следния скрипт, който позволява навийте брояча за активиране KMS сървър. Инсталирайте необходимата версия на ОС (в този пример това е Windows 7 Professional), създайте произволна директория, копирайте следния прилеп файл в нея, в същата директория създайте два празни файла с имена:

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_increase.bat:

@echo off
set skms = kms1.winitpro.ru
за %% i in (...) се обадете: Действайте% skms%
slmgr / ato
sc спре sppsvc
goto: край
: Акт
sc спре 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> нула
cscript.exe "% systemroot% \ system32 \ slmgr.vbs" / ipk FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
cscript.exe "% systemroot% \ system32 \ slmgr.vbs" / ato
sc спре sppsvc
: край

kms1.winitpro.ru - DNS име или IP адрес на вашия KMS сървър.

брой точки в третия ред - необходимия брой обаждания към KMS сървъра (в нашия пример симулираме достъпа на 25 уникални клиенти).

5-секундно закъснение беше добавено към сценария, като в някои случаи системата връща, че файловете са заети и опитът за активиране не се отчита.

Важно е. Не стартирайте този скрипт на самия KMS сървър! В противен случай ще трябва да активирате отново KMS сървъра (допустими са само 6 опита за активиране на един VLC ключ).

След приключване на скрипта проверете стойността на брояча за активиране на KMS сървъра:

slmgr / dlv

Стойността на брояча Current count трябва да се увеличи с 25. След това KMS сървърът ще активира всички клиентски операционни системи, които имат достъп до него (независимо дали е Windows 7, 8 или Win 10). Този скрипт в бъдеще (ако не е въведен нужният брой реални клиенти) ще трябва да се изпълнява на всеки 30 дни, защото при липса на заявки към сървъра, броячът за активиране ще намалее с течение на времето.

Увеличаване брояча за активиране с помощта на моментни снимки на виртуална машина

Ако вашият разглеждан скрипт не ви помогне да увеличите брояча на активиране на KMS сървъра, можете да увеличите стойността на брояча, като използвате способността да създавате снимки на виртуалната машина в Hyper-V / VMWare. Алгоритъмът е следният:

  1. Създайте нов VM с Windows 10 (не го активирайте и не въвеждайте клавиша GVLK, най-добре е временно да го изключите от мрежата)
  2. На работния плот на VM създайте следните 2 скрипта, един от които нулира CMID и преименува името на хоста. Вторият извършва активиране на ОС.

    Rearm.bat
    стартира "timed / cmm / backm" timeout / cm 10 / nobreak> NUL
    wmic компютърна система, където name = "% COMPUTERNAME%" call rename name = "pc-% random%"
    изключване / r / t 0
    kms_activate.bat
    set skms = kms1.winitpro.ru
    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 в автоматично зареждане.
  4. Създайте моментна снимка на виртуална машина.
  5. Изпълнете скрипта Rearm.bat с права на администратор. Виртуалната машина ще се рестартира и активира на KMS сървъра.
  6. Върнете състоянието на VM до предишния момент.
  7. Следвайте стъпки 5.6 толкова пъти, колкото е броят на заявките за активиране, които да добавите към KMS сървъра.