Option II: Automate the re-arming of the activation grace period.
1. Click Start, point to Administrative Tools, and then click Task Scheduler.
2. Copy the following sample script below into a notepad text on the home server, and then save it as an .xml file. For example, you can save the file as Extend.xml.
Start Copy
<?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</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>SERVERNAME\Administrator</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>
End Copy
3. In the script you just copied over, change the value of the following “UserID” tag to contain your ServerName and your Server account:
< UserId>ServerName\account</UserId>
Example: <UserId>WHS-Test\Administrator</UserId>

Since doing this article a gentleman from over a t How To Geek wrote a similar article on how to extend the evaluation of Windows Server 2008 R2. The approach is essentialy same but much more streamlined and automated. It can very easily be tailored for Windows Home Server 2011 or Small Business Server evalutions as. Please check out this link to find out more.
http://www.howtogeek.com/109141/how-to-seamlessly-extend-the-windows-server-trial-to-240-days/
Thanks for posting this. That gives me another 3 months to fail to decide whether to virtualise or not…
No Problem Mark, Glad I could help