2

I am trying to configure a template image for Windows 2008 R2 that is pre-activated. I have read through numerous sources that say to use the Microsoft-Windows-Security-SPP\SkipRearm option, however even when using this, it does not seem to work: I will configure my template image, activate windows, then run sysprep (c:\windows\system32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:c:\Sysprep\sysprep.xml) however when I deploy this image to a new machine I see the "you have three days to activate windows" message in the system control panel. Note: Keep in mind the license being used is from a SPLA, not a retail license.

As far as I have been lead to believe from numerous sources, the SkipRearm setting should allow us to deploy new machines that are pre-activated. Am I missing something here? Below is my sysprep.xml.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <servicing></servicing>
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup">
            <UserData>
                <ProductKey>
                    <Key>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</Key>
                </ProductKey>
                <AcceptEula>true</AcceptEula>
                <FullName>Company</FullName>
                <Organization>Company</Organization>
            </UserData>
            <EnableFirewall>false</EnableFirewall>
            <Restart>Restart</Restart>
            <EnableNetwork>true</EnableNetwork>
        </component>
        <component name="Microsoft-Windows-International-Core-WinPE">
            <SetupUILanguage>
                <UILanguage>en-US</UILanguage>
            </SetupUILanguage>
            <InputLocale>en-US</InputLocale>
            <SystemLocale>en-US</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback>en-US</UILanguageFallback>
            <UserLocale>en-US</UserLocale>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-Shell-Setup">
            <ComputerName>*</ComputerName>
            <ProductKey>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</ProductKey>
            <TimeZone>Eastern Standard Time</TimeZone>
            <ShowWindowsLive>false</ShowWindowsLive>
            <CopyProfile>true</CopyProfile>
            <RegisteredOrganization>Company</RegisteredOrganization>
            <RegisteredOwner>Company</RegisteredOwner>
        </component>
    </settings>
    <settings pass="generalize">
        <component name="Microsoft-Windows-OutOfBoxExperience">
            <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
        </component>
        <component name="Microsoft-Windows-ServerManager-SvrMgrNc">
            <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
        </component>
        <component name="Microsoft-Windows-Security-SPP">
            <SkipRearm>1</SkipRearm>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup">
            <UserAccounts>
                <AdministratorPassword>
                    <Value>Password123!</Value>
                    <PlainText>true</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <Themes>
                <DefaultThemesOff>true</DefaultThemesOff>
            </Themes>
            <TimeZone>Eastern Standard Time</TimeZone>
            <FirstLogonCommands>
                <SynchronousCommand wcm:action="add">
                    <CommandLine>cmd /c rd /S /Q c:\Sysprep</CommandLine>
                    <Description>Remove Sysprep Dir</Description>
                    <Order>1</Order>
                </SynchronousCommand>
            </FirstLogonCommands>
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
            </OOBE>
        </component>
        <component name="Microsoft-Windows-International-Core">
            <InputLocale>en-US</InputLocale>
            <SystemLocale>en-US</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback>en-US</UILanguageFallback>
            <UserLocale>en-US</UserLocale>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:e:/tools/waik/windows2008r2/install.wim#Windows Server 2008 R2 SERVERSTANDARD" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
0

1 Answer 1

2

You can't use Generalize, SkipRearm, and OOBE together. The Generalize process creates all new licensing info, thus it will overwrite the existing activation, unless SkipRearm is specified. However, when both Generalize and OOBE are specified SkipRearm will be ignored. The key must also be a MAK key (when Generalize/SkipRearm is used); Retail Keys can be used with OOBE only; or VL (but if you had a VL key you should be using KMS anyway); sounds like you have the correct key though.

Update: Fixed an omission regarding the combination of options. Reference: How Sysprep Works

8
  • I was thinking it was something along those lines, but I couldn't find any documentation that explains that. I will accept your answer as soon as the time limit runs out, but do you have a link to MS docs that explain this by any chance?
    – upnover
    Nov 15, 2010 at 2:59
  • Well either way, I greatly appreciate your quick response!
    – upnover
    Nov 15, 2010 at 3:02
  • Updated my answer with corrected details and the reference link.
    – Chris S
    Nov 15, 2010 at 3:08
  • There is some contradicting information: "To activate Windows for your customer, use the unique Product Key from the certificate of authenticity (COA) label that is affixed to the specific computer, and activate the computer on behalf of the end user. Run the sysprep /oobe command to prepare the computer for delivery to the customer." followed by "You cannot make an image of an activated Windows installation and duplicate that image to another computer. If you do, Windows fails to recognize the activation and forces the end user to reactivate the installation manually"
    – upnover
    Nov 15, 2010 at 3:09
  • Yeah, the documentation is a bit rough, the second statement will override the first, which is the "problem" you're bumping up against (using Generalize will imply "make an image").
    – Chris S
    Nov 15, 2010 at 3:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .