multi-oem slic script win7

Discussion in 'Scripting' started by krabs, Mar 18, 2016.

Tags:
  1. krabs

    krabs MDL Novice

    Feb 23, 2013
    15
    9
    0
    #1 krabs, Mar 18, 2016
    Last edited by a moderator: Apr 20, 2017
    Unattended multi-oem slic script I'm using in combination with ENGL Imaging toolkit.
    At the moment we are not using laptops,workstations from fujitsu, IBM so the output for the 'wmic csproduct get vendor' command may be wrong.
    Copy the certificates to the OEM directory under system32 with as name the wmic output of the vendor: for Dell -> Dell Inc..xrm-ms

    Code:
    
    @ECHO OFF
    :: SLIC activation for Windows 7 unattended installations.
    :: Check Windows version
    FOR /F "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| Find "ProductName"') DO SET WIN_VER="%%i %%j"
    
    :: Check for Windows 7 Professional
    IF NOT %WIN_VER%=="Windows 7 Professional" GOTO DontRun
    
    :: Enable delayed variable expansion
    SETLOCAL ENABLEDELAYEDEXPANSION
    
    :: Check vendor
    FOR /F "tokens=2 delims==" %%a in ('WMIC CSPRODUCT Get Vendor /FORMAT:VALUE') DO SET VEN_OEM="%%a"
    
    :: Check model
    FOR /F "tokens=2 delims==" %%a in ('WMIC CSPRODUCT Get Name /FORMAT:VALUE') DO SET MOD_OEM="%%a"
    
    :: Enter the number of OEM Certs,MODS
    SET CNT_OEM=7
    SET CNT_MOD=2
    
    :: SLIC CRT,KEY
    SET SLP_CRT[1]="Acer"
    SET SLP_CRT[2]="Dell Inc."
    SET SLP_CRT[3]="FUJITSU SIEMENS"
    SET SLP_CRT[4]="Gigabyte Technology Co., Ltd."
    SET SLP_CRT[5]="Hewlett-Packard"
    SET SLP_CRT[6]="IBM"
    SET SLP_CRT[7]="Micro-Star International"
    
    SET SLP_KEY[1]="YKHFT-KW986-GK4PY-FDWYH-7TP9F"
    SET SLP_KEY[2]="32KD2-K9CTF-M3DJT-4J3WC-733WD"
    SET SLP_KEY[3]="PT9YK-BC2J9-WWYF9-R9DCR-QB9CK"
    SET SLP_KEY[4]="7QY32-TQCBJ-G7MC8-Y4PGF-7TGB8"
    SET SLP_KEY[5]="74T2M-DKDBC-788W3-H689G-6P6GT"
    SET SLP_KEY[6]="237XB-GDJ7B-MV8MH-98QJM-24367"
    SET SLP_KEY[7]="2W3CX-YD4YJ-DF9B2-V27M6-77GMF"
    
    :: BIOS MODS CRT,KEY
    SET MOD_CRT[1]="Dell Inc."
    SET MOD_CRT[2]="Dell Inc."
    
    SET MOD_KEY[1]="32KD2-K9CTF-M3DJT-4J3WC-733WD"
    SET MOD_KEY[2]="32KD2-K9CTF-M3DJT-4J3WC-733WD"
    
    SET MOD_MNR[1]="MS-7309"
    SET MOD_MNR[2]="P31-DS3L"
    
    :: Do not edit below this !
    
    SET MOD_SLIC="FALSE"
    
    :: Install OEM CRT,KEY
    FOR /L %%i IN (1,1,%CNT_OEM%) DO (
        IF %VEN_OEM%==!SLP_CRT[%%i]! (
            FOR /L %%j IN (1,1,%CNT_MOD%) DO (
                IF %MOD_OEM%==!MOD_MNR[%%j]! (
                    CSCRIPT //B %windir%\system32\slmgr.vbs /upk
                    CSCRIPT //B %windir%\system32\slmgr.vbs /cpky
                    CSCRIPT //B %windir%\system32\slmgr.vbs -ilc "%windir%\system32\oem\!MOD_CRT[%%j]:~1,-1!.xrm-ms"
                    CSCRIPT //B %windir%\system32\slmgr.vbs -ipk !MOD_KEY[%%j]:~1,-1!
                    CSCRIPT //B %windir%\system32\slmgr.vbs /cpky
                    ATTRIB +R "%windir%\system32\oem\!MOD_CRT[%%j]:~1,-1!.xrm-ms"
                    DEL /Q "%windir%\system32\oem\*.xrm-ms" > NUL 2>&1
                    SET MOD_SLIC="TRUE"
                )
            )
            IF !MOD_SLIC!=="FALSE" ( 
                CSCRIPT //B %windir%\system32\slmgr.vbs /upk
                CSCRIPT //B %windir%\system32\slmgr.vbs /cpky
                CSCRIPT //B %windir%\system32\slmgr.vbs -ilc "%windir%\system32\oem\!SLP_CRT[%%i]:~1,-1!.xrm-ms"
                CSCRIPT //B %windir%\system32\slmgr.vbs -ipk !SLP_KEY[%%i]:~1,-1!
                CSCRIPT //B %windir%\system32\slmgr.vbs /cpky
                ATTRIB +R "%windir%\system32\oem\!SLP_CRT[%%i]:~1,-1!.xrm-ms"
                DEL /Q "%windir%\system32\oem\*.xrm-ms" > NUL 2>&1
            )
        )
    )
    
    :: Disable delayed variable expansion
    ENDLOCAL
    :DontRun