If you work with Microsoft Hyper-v on windows Vista or windows Server 2008 then you no doubt use SYSPREP to prepare virtual machine templates. If you are still building each VM and installing windows from scratch then you are making life hard for yourself, in which case I suggest you read THIS.
When you first install Windows your rearm count is set at 3. You can see the current rearm count by running slgmgr.vbs /dlv and looking at the following:
Remaining Windows rearm count: 3
Note: If you install a service pack the count will increase by 1
When you exceed the rearm count you should get error similar to this KB
When you run the sysprep /generalize command, the activation clock will automatically reset, this ensures that when you first boot up you get the 30 day grace period before license activation. This can only be done 3 times, after this you will no longer be able to SYSPREP that windows installation which. This is incredibly annoying as obviously you need to update your templates occasionally.
However there is a good reason, as if you could indefinitely reset the windows activation then you would never have to activate windows, thus a free license forever.
NOTE: This limitation does not exist on windows 2003 and XP.
Thankfully you can bypass resetting the activation clock by using the SkipRearm setting in the Microsoft-Windows-Security-Licensing-SLC component. This enables you to run Sysprep multiple times without resetting the activation clock. Refer to the "unattented Windows setup Reference" below for details.
If you want the quick hack, just edit this registry key and set to 1.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurentVersion\SL\SkipRearm
But you MUST remove this setting or set to 0 on the final running of sysprep otherwise the grace period is not reset(additionally the CMID is not reset which can cause problem with KMS activation).
Useful Articles.
Issues with Sysprep and SkipRearm
The use of SkipRearm leads into a discussion around best practices for building images. In the past with Windows XP/2003 most administrators followed a process similar to this
- Install Windows
- Install applications/drivers/updates
- Run sysprep
- Capture Image Version #1
- Deploy image Version #1
When it came time to update the image the process continues as follows
- Deploy Image Version #1 to a machine
- Make changes to image
- Run sysprep
- Capture Image Version #2
- Deploy image Version #2
This process may go on and on. The issue with this type of image build process is that over time it becomes very difficult to troubleshoot any issues with this image because the process for building the image has been a manual process. An example of an issue that can be attributed to this process
There could be many other issues that could arise out of this type of image build practice.
Some of the disadvantages of this type of process include
- Requires interaction by the user or deployment technician.
- Increases the risk of introducing configuration errors.
- Difficult if not impossible to reproduce steps on how an image was created
Microsoft Deployment Toolkit
With the release of Microsoft Deployment Toolkit we now have a tool that allows you create a fully automated consistent method for building a reference image and it supports all operating systems including Windows XP and Windows Server 2003. With MDT the general process looks like this:
- Setup your MDT server
- Add the operating system source files(not a custom install.wim), applications, drivers, and updates
- Create task sequence called "Build reference image"
- As part of this task sequence choose the option to prepare and capture the image
- On your reference system (physical or virtual) boot into the Lite Touch image and choose the "Build reference image" task sequence.
- MDT installs Windows and all your other components and also runs sysprep and captures the image for you
- Import this image into MDT
- Create a task sequence to deploy it such as "Deploy Custom Image version #1"
- Deploy the image to your hardware using the "Deploy Custom Image Version #1" task sequence
When it comes time to update your image you do the following
-
Make your changes in the MDT workbench for the image. For example
- add some new drivers
- add new updates
- add new applications
- On your reference image boot into the lite touch image and choose the "Build Reference image" task sequence. Note that through the use of customsettings.ini or custom database you can fully automate the prompts so it requires no interaction
- MDT installs Windows and all your other components and also runs sysprep and captures the image for you
- Import this new image into MDT
- Create a new task sequence to deploy it, for example "Deploy Custom Image Version #2"
- Deploy the image to your hardware using the "Deploy Custom Image Version #2" task sequence
The difference is that you rebuild your reference image from scratch each time and sysprep is only run one time. The advantages of this type of process include:
- Consistent process for building the reference image
- Requires no modification of the default install.wim
- Uses built in mechanisms of setup to add drivers and updates to the install
- Easy to add/remove components for testing
- No interaction required by the user or deployment technician.
- Decreases the risk of introducing configuration errors.
With MDT automating the process of installing the operating system, drivers, updates, applications, and the capture of the image you ensure that each time you want to update an image the image is rebuilt in a consistent automated fashion. This image is also prepared with sysprep only once which helps prevent the random issues with images that have had sysprep run on them many times.
You can take this a step further by using the System Center Virtual Machine Manager to deploy virtual machines from templates.
Recent Comments