ggRock Machine Displays "Activation Required" - How to Activate Windows

This article describes an issue where Windows prompts for Activation, which, which may be visible over the ggLeap (or other application) UI.

Problem

Machines display "Activate Windows" a watermark which might appear on the desktop, or when ggLeap or another full-screen application is loaded.

Solution 1

Activate Windows with KMS (volume-license or enterprise customers only)

In an enterprise environment, it might be desirable to utilize KMS activation in order to provide the simplest means of configuring and activating Windows licenses.

For more information on configuring KMS, please refer to the Microsoft "Activate Using Key Management Service" article.

Solution 2

Activate Windows with a MAK (Multiple Activation Key) (volume-license or enterprise customers only)

MAK activation can simplify ggRock deployment by using the same key for every computer - this is the recommended approach if you have access to a MAK for activation.

See the Microsoft article "Plan for volume activation" for more information.

Solution 3

NOTE:

This option has the potential to run your key(s) out of activation, however it is the only option if either (1) your center has Machines with Windows licensing embedded into the BIOS or (2) if you have purchased multiple retail license keys for Windows (individual copies). If your keys run out of activations, you may need to call or otherwise contact Microsoft Support for assistance.

1. Enable "Keep Writebacks" for the system in question.

1. Open an elevated command prompt (Press Windows Key + X, click Command Prompt (Admin)).

2. Enter the following command to reset the activation system: slmgr.vbs -rearm

3. Reboot the Machine.

4. Follow the steps in this article in order to obtain your product key (there are numerous methods, depending on whether you have purchased retail licensing, are an enterprise customer, have a key embedded in the BIOS, etc).

5. Access Settings > Update & Security > Activation, then click the "Change product key" button to insert the product key obtained previously.

 

NOTE:
Unless you have a volume-license product key, you may need to perform this process in an automated (scripted) fashion on each Machine via a startup script. Please beware that multiple activation attempts on a given system for its key may result in an inability to activate, and may require calling Microsoft to remedy the issue. Some centers have reported that after speaking with Microsoft, they were able to have sufficient activations added to their key(s) to work around this issue.

Example Script (BIOS Read):

@ECHO OFF

echo [+] Uninstalling Current Product Key [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /upk

echo [+] Removing OOBE Key from Registry [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /cpky

echo [+] Obtaining OEM key from BIOS [+]
for /f "tokens=2 delims='='" %%K IN ('wmic path softwarelicensingservice get OA3xOriginalProductkey /value') do set pk=%%K

echo [+] Installing Product Key from BIOS [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ipk %pk%

echo [+] Activating Windows [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ato

echo [+] Displaying License Information [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /dli

Example Script (Multiple Retail Keys - correct key is injected based on chassis service tag):

@ECHO OFF
for /F "skip=2 tokens=2 delims=," %%A in ('wmic systemenclosure get serialnumber /FORMAT:csv') do (set "serial=%%A")

echo [+] Uninstalling Current Product Key [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /upk

echo [+] Removing OOBE Key from Registry [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /cpky

if %serial%==COMPUTERSERVICETAG1 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

if %serial%==COMPUTERSERVICETAG2 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

if %serial%==COMPUTERSERVICETAG3 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

if %serial%==COMPUTERSERVICETAG4 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

if %serial%==COMPUTERSERVICETAG5 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

if %serial%==COMPUTERSERVICETAG6 (
echo [+] Setting Product Key for %serial% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY
)

echo [+] Installing Product Key [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ipk %pk%

echo [+] Activating Windows [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ato

echo [+] Displaying License Information [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /dli

GOTO eof
:sub_message
echo No matching chassis service tag found!
:eof

Example Script (Multiple Retail Keys - correct key is injected based on MAC Address):

@ECHO OFF
for /F "tokens=3 delims=," %%A in ('"getmac /v /fo csv | findstr Ethernet"') do (set "MACADDR=%%A")

echo [+] Uninstalling Current Product Key [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /upk

echo [+] Removing OOBE Key from Registry [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /cpky

if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] Setting Product Key for %MACADDR% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY1
)

if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] Setting Product Key for %MACADDR% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY2
)

if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] Setting Product Key for %MACADDR% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY3
)

if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] Setting Product Key for %MACADDR% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY4
)

if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] Setting Product Key for %MACADDR% [+]
pk=THIS-SHOULD-BE-YOUR-PRODUCT-KEY5
)

echo [+] Installing Product Key [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ipk %pk%

echo [+] Activating Windows [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /ato

echo [+] Displaying License Information [+]
%WINDIR%\system32\cscript.exe %WINDIR%\System32\slmgr.vbs /dli

GOTO eof
:sub_message
echo No matching MAC address found!
pause
:eof

Additional Information

Every computer must have a valid Windows license in order to remove the watermark displayed.

Only volume-license customers have access to KMS or MAK-based activation.

Retail and OEM keys have limited numbers of activation, and as such may require additional efforts in contacting Microsoft Support for activation issues.