Windows and Windows Server operating systems such as Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016 or later have free activation grace period which allows user to install and use the operating system for 120 days and 240 days without product key or product activation completed. The initial grace period given is 30 days and 60 days respectively for Windows client OS and Windows Server OS, and user has to “rearm” the system when the expiration of grace period is nearly ending in order to reset and extend the trial evaluation period, and hence granted the activation grace period again.

Neither Windows nor Windows Server display prominently when is the activation-free evaluation grace period ends (even though it’s actively reminding user to activate Windows with information on how many days left to activate, which usually ignored by users). Surely you don’t want a warning dialog message box pops up suddenly to notify that you may be victim of counterfeiting or to activate the system now, especially if your notebook/laptop computer is used for business presentation. System administrators also certainly don’t want to face with uncertainty or instability possibly brought by expiry of activation grace period, especially if the server is running critical processes, applications or databases.

Instead of remembering the activation grace period expiry or ending date to manually rearm and reset activation grace period in Windows and Windows Server, Microsoft provides the following script which can be used with Task Scheduler to schedule automatic extension of the evaluation period and activation-bypass grace period of Windows Server every 60 days, which should be able to used in Windows client OS such as Windows 7, Windows 8 and Windows 10 too which requires to be triggered every 30 days.

How to Automate the Rearm and Extension of the Activation Grace Period in Windows Server and Windows Client

  1. On the Windows or Windows Server system, copy and paste the following Task code to text editor such as Notepad. In the Task, change the value of the following UserID tag (as in <UserId>domain\alias</UserId> line) to contain domain name and user name alias (for user on domain Active Directory), or local host name and user ID (for standalone Windows Vista user). Then save it as a .xml file. For example, ReArm.xml or Extend.xml.
    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2007-09-17T14:26:04.433</Date>
        <Author>Microsoft Corporation (My Digital Life)</Author>
      </RegistrationInfo>
      <Triggers>
        <TimeTrigger id="18c4a453-d7aa-4647-916b-af0c3ea16a6b">
          <Repetition>
            <Interval>P31D</Interval>
            <StopAtDurationEnd>false</StopAtDurationEnd>
          </Repetition>
          <StartBoundary>2007-10-05T02:23:24</StartBoundary>
          <EndBoundary>2008-09-17T14:23:24.777</EndBoundary>
          <Enabled>true</Enabled>
        </TimeTrigger>
      </Triggers>
      <Principals>
        <Principal id="Author">
          <UserId>domain\alias</UserId>
          <LogonType>Password</LogonType>
          <RunLevel>HighestAvailable</RunLevel>
        </Principal>
      </Principals>
      <Settings>
        <IdleSettings>
          <Duration>PT10M</Duration>
          <WaitTimeout>PT1H</WaitTimeout>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>false</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <WakeToRun>true</WakeToRun>
        <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
        <DeleteExpiredTaskAfter>PT0S</DeleteExpiredTaskAfter>
        <Priority>7</Priority>
        <RestartOnFailure>
          <Interval>PT1M</Interval>
          <Count>3</Count>
        </RestartOnFailure>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>C:\Windows\System32\slmgr.vbs</Command>
          <Arguments>-rearm</Arguments>
        </Exec>
        <Exec>
          <Command>C:\Windows\System32\shutdown.exe</Command>
          <Arguments>/r</Arguments>
        </Exec>
      </Actions>
    </Task>

    Or, download a copy of ReArm.xml directly (you still need to change the “UserID”).

  2. Click Start, point to Administrative Tools (in Windows, go to Control Panel -> System and Maintenance), and then click Task Scheduler.
  3. In the Task Scheduler, click Import Task on the “Action” menu.
  4. Select the task .xml file saved from above above. For example, click Extend.xml or ReArm.xml.
  5. Click Import.
  6. A “Create Task” window will appear. Click the Triggers tab.

    Schedule Automatic Rearm Activation Grace Period

  7. Click the One Time trigger, and then click Edit.
  8. Change the start date of the task to a date just before the end of current evaluation period (activation grace period expiry date).

    User can also customize the schedule so that the Task Scheduler automates the rearm of system license status every 30 days (for Windows Vista, Windows 7, Windows 8, Windows 10 or later) or 60 days (for Windows Server 2008 (R2), Windows Server 2012 (R2), Windows Server 2016 or later) for 3 times. For example, change to Daily with recurring every 30 or 60 days, and then set an Expire date for the task after 120 days or 240 days.

  9. Click OK, and then exit the Task Scheduler.

The Task Scheduler will now run the evaluation reset and rearm operation on the date that been specified automatically to extend the free usage of Windows operating system.