Home
Categories: Hyper-V, Windows Server Posted by Tore Lervik on 9/3/2009 8:58 PM | Comments (5)

One of my first posts here on my blog was about the two PowerShell scripts that I made for taking snapshots and backup of Virtual Machines. It was a simple script, but alot of people seemed to like them. Time has passed, and iv'e changed how I want to perform my backups.

How to configure Windows Server Backup

  1. Install the Windows Server Backup feature with Server Manager, and make sure you include the command-line tools available.
  2. Add this string to the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WindowsServerBackup\Application Support\{66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE}\Application Identifier\Hyper-V
    Link: http://support.microsoft.com/kb/958662
  3. Restart the server
  4. Start Windows Server Backup and create a new schedule.
    Select C: and the volume you have your VM's on. (Do not select .vhd files directly, apparently VSS doesn't like that)
    Select a dedicated backup location. (The backup will fail under schedule if you select a normal volume)
  5. Try to run the backup once, it should run without fail. :)

(Bonus) Monitor your backup in case of an error

A backup is no good if you don't get notified if there was an error. It's a classic when companies find out that their backup solution stopped working 6 months ago, just when they needed the backup.
I've created a new simple PowerShell script that checks the last successfull backup. The script will send an email if the last successfull backup is older than a given amount of hours.
Configuration is in the start of the script. By default the script will check if last backup is older than 24 hours, and it will also send a "backup succeded" mail.

BackupCheck.ps1 (1.04 kb)

To configure a schedule for the script to run, start Task Scheduler and create a new task.
Under Action, click Add and enter Powershell as program and "& 'C:\Hyper-V\BackupCheck.ps1'" as argument.
Under Triggers, click Add and enter your desired intervall. I've set mine to run 2 hours after the backup schedule.

With this you should be able to have a pretty good overview over your backup :) 

Categories: Hyper-V, Windows Server Posted by Tore Lervik on 8/1/2008 7:48 PM | Comments (4)

Your system administrator does no allow the use of saved credentials to log on to the remote computer <computername> because its identity is not fully verified. Please enter new credentials.

If you are using Hyper-V and your client is in a domain you might have seen this dialog a couple of times.
Or if your testing out VMM 2008 Beta in a domain environment you must have gone nuts by now.

The workaround for it is pretty simple.
On your domain server, open up Group Policy Management Editor and go to Computer Configuration -> Administrative Templates -> System -> Credentials Deligation.
Double click on Allow saved credentials with NTLM-only Server Authentication, click Show and add "*servername.domain" to the list.

My server is named Exia and my domain is home.mindre.net, so I added *EXIA.home.mindre.net to the list.
Now go on your client and open a Comand Prompt with admin rights and run gpupdate.

Cached Credentials in a domain environment should now work :)

Categories: Hyper-V, PowerShell, Windows Server Posted by Tore Lervik on 6/1/2008 6:30 PM | Comments (58)

PowerShellPowershell script for creating snapshots

The script creates a snapshot for each VM on the Hyper-V server.
Then it removes all snapshots older than 6 days (except the ones made on a Sunday).

CreateVmSnapshots.ps1 (1.01 kb)

 

Powershell script for exporting(backup) Virtual Machines

The script exports all the VM's to a given backup location.
It pauses each VM if it's running, exporting and turn the VM back on if it was running before.

CreateVmBackups.ps1 (1.75 kb)

 

Task Scheduling

Combine these two scripts with the Task Scheduler and you have a fully automated backup system!
To run a Powershell script in Task Scheduler enter Powershell as program and "& 'C:\Hyper-V\CreateVmSnapshots.ps1'" as argument.

PS: Run the scripts once to see that they work before adding them to the Task Scheduler, as no errors will be shown if they fail in the Task Scheduler.