I have cloned and deployed several PCs with similar hardware as they are of the same model.

The steps are as follows:

Computer A:

  1. Install Windows
  2. Install applications/drivers/updates
  3. Capture Image Version #1
  4. Run sysprep
  5. Join domain
  6. Activate windows and office

Computer B, C and so on:

  1. Deploy Image Version #1 to a machine
  2. Run sysprep
  3. Join domain
  4. Activate windows and office

Run the following bat file when sysprep

reg add "HKLM\SYSTEM\Setup\Status\Sysprepstatus" /v CleanupState /t REG_DWORD /d 00000002 /F
reg add "HKLM\SYSTEM\Setup\Status\Sysprepstatus" /v GeneralizationState /t REG_DWORD /d 00000007 /F
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v SkipRearm /t REG_DWORD /d 00000001
msdtc -uninstall
timeout 120
msdtc -install
timeout 120
rmdir /Q /S "C:\Windows\System32\Sysprep\Panther" 
del /Q "C:\Windows\System32\Sysprep\Sysprep_succeeded.tag "
ECHO Beginning Sysprep. The system will shutdown when complete.
"C:\Windows\System32\Sysprep\Sysprep.exe" /oobe /generalize /shutdown

I have now realised that windows and office fails to activate on the kms server by itself. Any idea on how I can remedy the problem. Thanks.

What is the difference if I sysprep /generalize with SkipRearm=1 and sysprep /generalize with SkipRearm=0?

  • I thought sysprep is supposed to be done before capturing the image, not after deploying it.
    – Jeter-work
    Mar 2, 2017 at 20:54

1 Answer 1


What is the difference if I sysprep /generalize with SkipRearm=1 and sysprep /generalize with SkipRearm=0?

Note: this is based on stuff I have read, I don't have practical experiance.

"rearming" resets the product activation system. The installation will get a new ID for activation, and the activation status will return to non-activated at the start of the grace period.

There is a limit to the number of times an installation can be rearmed to prevent people from using the feature to extend the activation grace period forever.

By default sysprep will perform a rearm, if you want to prevent this then you set the "SkipRearm=1" registry value. You can also rearm manually with "slmgr /rearm"

Normally when imaging you want to rearm. This ensures that the activation on the new machine starts from a clean slate and the kms sees all your machines as different systems. If you don't rearm then the kms will be unable to tell the difference between all of your machines. So if you build a network full of machines, image all of them without rearming then the kms server will think they are all the same machine and hence will never reach it's minimum machine count.

The exception is when you have a workflow like

  1. Restore image
  2. Make some changes
  3. Make new image

In this case you don't want to rearm when making images you will later build on, otherwise after a few iterations you will reach the maximum rearm count.

  • 1
    Spot on about why you should rearm when deploying images. The OP might also consider keeping a pair of images from computer A. The first from step #3 where they already grab an image, to be used as a base point for future image updates. The second from between #4 & #5, this would be an image that is pre-sysprepped and is therefore perfect for rapid deployment to computers B-ZZZZ. (once the image restore completes, the PC boots to the OOBE and is then ready to go)
    – Ruscal
    Feb 23, 2017 at 18:29
  • I'm not sure why the ServerFault twitter posted this question today, 9 months later, but this was the correct answer. As this answer stated, you need to rearm or KMS won't see the machines as unique - they'll all have the same ID and count as 1 computer (causing KMS to fail to reach minimum threshold). This actually happened to me many years back when following a win7 sysprep guide that said to skipRearm=1 so I can confirm this on the experience end. The fix was to manually rearm all the computers w/ the same ID and adjust my images going forward so they did rearm (omit or SkipRearm=0). Nov 28, 2017 at 7:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.