Massive Windows deployment + machine testing - How to activate Windows

Page 1 of 2 12 LastLast

  1. Posts : 6
    Windows 11
       #1

    Massive Windows deployment + machine testing - How to activate Windows


    I need to install Windows on 200 Lenovo ThinkPad T460 and 200 Lenovo ThinkPad T470 laptops, which will then be delivered to various countries in Africa. These PCs are used and require a check of their functionality.

    I've already prepared an image using Clonezilla and used it to deploy to 20 PCs at a time using a switch connected to a Clonezilla Lite Server instance. I captured the image in audit mode so that I can easily test the keyboard, audio, WiFi, and various peripherals. After all the tests are done, I update the UEFI BIOS version and run Sysprep with the following command:

    %windir%\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:unattend.xml

    My unattend file looks like this:

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
    <settings pass="offlineServicing"></settings>
    <settings pass="windowsPE">
    <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <SetupUILanguage>
    <UILanguage>en-US</UILanguage>
    </SetupUILanguage>
    <InputLocale>0410:00000410</InputLocale>
    <SystemLocale>en-GB</SystemLocale>
    <UILanguage>en-US</UILanguage>
    <UserLocale>en-GB</UserLocale>
    </component>
    <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <UserData>
    <AcceptEula>true</AcceptEula>
    </UserData>
    <RunSynchronous>
    <RunSynchronousCommand wcm:action="add">
    <Order>1</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    <RunSynchronousCommand wcm:action="add">
    <Order>2</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    <RunSynchronousCommand wcm:action="add">
    <Order>3</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    <RunSynchronousCommand wcm:action="add">
    <Order>4</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    <RunSynchronousCommand wcm:action="add">
    <Order>5</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    <RunSynchronousCommand wcm:action="add">
    <Order>6</Order>
    <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassDiskCheck /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>
    </RunSynchronous>
    </component>
    </settings>
    <settings pass="generalize">
    <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
    </component>
    <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SkipRearm>1</SkipRearm>
    </component>
    </settings>
    <settings pass="specialize">
    <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
    </component>
    <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <RunSynchronous>
    <RunSynchronousCommand wcm:action="add">
    <Order>1</Order>
    <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path>
    </RunSynchronousCommand>

    <RunSynchronousCommand wcm:action="add">
    <Order>2</Order>
    <Path>net.exe accounts /maxpwage:UNLIMITED</Path>
    </RunSynchronousCommand>

    </RunSynchronous>
    </component>
    </settings>
    <settings pass="auditSystem"></settings>
    <settings pass="auditUser"></settings>
    <settings pass="oobeSystem">
    <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <InputLocale>0410:00000410</InputLocale>
    <SystemLocale>en-GB</SystemLocale>
    <UILanguage>en-US</UILanguage>
    <UserLocale>en-GB</UserLocale>
    </component>
    <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
    <UserAccounts>
    <LocalAccounts>
    <LocalAccount wcm:action="add">
    <Name>***</Name>
    <Group>Administrators</Group>
    <Password>
    <Value>***</Value>
    <PlainText>true</PlainText>
    </Password>
    </LocalAccount>
    </LocalAccounts>
    </UserAccounts>
    <AutoLogon>
    <Username>***</Username>
    <Enabled>true</Enabled>
    <LogonCount>1</LogonCount>
    <Password>
    <Value>***</Value>
    <PlainText>true</PlainText>
    </Password>
    </AutoLogon>
    <OOBE>
    <ProtectYourPC>3</ProtectYourPC>
    <HideEULAPage>true</HideEULAPage>
    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
    </OOBE>
    <FirstLogonCommands>
    <SynchronousCommand wcm:action="add">
    <Order>1</Order>
    <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine>
    </SynchronousCommand>
    </FirstLogonCommands>
    </component>
    </settings>
    </unattend>

    I'm facing a doubt: since these PCs won't be connected to the internet, how can I keep them activated after the Sysprep generalize step? I have already made some attempts, and after the reboot and login with the default admin user, Windows settings indicate that it is not activated.

    Thank you for your help!

    PS: if you have any suggestion on how to make more efficient BIOS updating please share with me :)
      My Computer


  2. Posts : 4,594
    several
       #2

    I think they are 2016/2017 machines. MSDM table in the firmware might be for win8.1

    Or maybe the t460 came with win8.1 and the t470 is win10

    If they were consumer machines most likely Home edition

    You could check with firmwaretablesview FirmwareTablesView
      My Computer


  3. Posts : 6
    Windows 11
    Thread Starter
       #3

    SIW2 said:
    I think they are 2016/2017 machines. MSDM table in the firmware might be for win8.1

    Or maybe the t460 came with win8.1 and the t470 is win10

    If they were consumer machines most likely Home edition

    You could check with firmwaretablesview FirmwareTablesView
    I will try! They were corporate laptop. The fact is that on audit mode with internet connection the system is activated.

    I'm pretty sure they are windows pro

    - - - Updated - - -

    SIW2 said:
    I think they are 2016/2017 machines. MSDM table in the firmware might be for win8.1

    Or maybe the t460 came with win8.1 and the t470 is win10

    If they were consumer machines most likely Home edition

    You could check with firmwaretablesview FirmwareTablesView
    Hi i've tried firmwaretablesview and i see the product key... what shoud i check next?
    Last edited by iHero96; 4 Weeks Ago at 13:37.
      My Computer


  4. Posts : 4,594
    several
       #4

    microsoft pid checker
      My Computer


  5. Posts : 6
    Windows 11
    Thread Starter
       #5

    SIW2 said:
    microsoft pid checker
    ok it says Win 10 RTM Professional OEM with key status valid even on the T460.
    is it ok if the activation status stays in "unable to reach windows activation servers"?
      My Computer


  6. Posts : 4,594
    several
       #6

    is it ok if the activation status stays in "unable to reach windows activation servers"?
    If it has valid msdm table for the same edition you have installed, I dont know what else you can do

    Maybe some deployment guy will have an idea.
      My Computer


  7. Posts : 18,432
    Windows 11 Pro
       #7

    Try not generalizing when you shutdown with sysprep.
      My Computer


  8. Posts : 6
    Windows 11
    Thread Starter
       #8

    NavyLCDR said:
    Try not generalizing when you shutdown with sysprep.
    I Will try this... But in the end I'll have all PC with same name and info?
      My Computer


  9. Posts : 18,432
    Windows 11 Pro
       #9

    iHero96 said:
    I Will try this... But in the end I'll have all PC with same name and info?
    No.
      My Computer


  10. Posts : 6
    Windows 11
    Thread Starter
       #10

    NavyLCDR said:
    No.
    Thank you, i will give it a try later today!

    - - - Updated - - -

    iHero96 said:
    Thank you, i will give it a try later today!
    It seems ok without the generalize option! Thanks.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 06:01.
Find Us




Windows 10 Forums