VBScript to merge a differencing disk to a new file

Got an email the other day asking for a sample script on how to merge a differencing disk to a new file - so here we go:

    1: Option Explicit
    2:  
    3: 'Define constants
    4: CONST vmDiskType_Dynamic = 0
    5: CONST vmDiskType_FixedSize = 1
    6: CONST vmDiskType_Differencing = 2
    7:  
    8: dim vs, aVHD, aVHDFileName, newVHDFileName, vmTask
    9:  
   10: 'Grab command line arguments
   11: aVHDFileName = WScript.Arguments.Item(0)
   12: newVHDFileName = WScript.Arguments.Item(1)
   13:  
   14: 'Connect to Virtual Server
   15: Set vs = CreateObject("VirtualServer.Application")
   16:  
   17: 'Create VHD object
   18: set aVHD = vs.GetHardDisk(aVHDFileName)
   19:  
   20: 'Merge the VHD to a new dynamic disk
   21: if aVHD.type = vmDiskType_Differencing then
   22:    wscript.echo "Merging the VHD to a new file..."
   23:    set VMTask = aVHD.MergeTo(newVHDFileName, vmDiskType_Dynamic)
   24:    vmTask.WaitForCompletion(-1)
   25: end if

As you can see, this script take two command line parameters: the differencing disk and the target disk.  It then merges the differencing disk with its parent and stores the result in the new target disk.

Cheers,
Ben