Virtual PC and Virtual Server verison numbers as well as additions

Have you ever tried to figure out if you had the latest VM additions installed on all your Virtual Guests? 

This week I was at a customer site reviewing a Virtual Server 2005 R2 Deployment.  At the customer site they had a mix of VM additions installed across the estate and no easy way of determining what the correct version numbers were.  The first thing I needed was a list of VM addition numbers.  This was provide to me by Brian Randell

Virtual PC and Virtual Server verison numbers as well as additions.

Someone asked today so I thought I'd share it here too.


Virtual PC 2004 13.040
Virtual Server 2005 1.1.465.0 13.206
Virtual PC 2004 SP1 5.3.582.27 13.306
Virtual PC 2004 SP1 5.3.582.32 13.306
Virtual Server 2005 SP1 Beta 13.518
Additions Download Only Windows Server 2003 SP1 Support 13.531
Virtual Server 2005 R2 1.1.465.292 EE R2 13.552
Additions Download Only Vista Beta 2 Support 13.709
Virtual Server 2005 R2 SP1 1.1.531.0 EE R2 SP1 13.715
Virtual PC 2007 13.724
Virtual PC 2007 13.800
Virtual Server 2005 R2 SP1 1.1.603.0 EE R2 SP1 13.813
Virtual Server 2005 R2 SP1 Update 1.1.653.0 EE R2 SP1 13.820
Virtual PC 2007 SP1 13.820



Next thing I needed to do was create a vbs script to query the virual server and output to an HTML table.  I have posted the script here.  I have tested this on  Windows 2003 and Virtual Server 2005 R2 Sp1.   This code work on all Virtual Server versions.  I have not tested on Hyper-V yet.  My plan is to write a PowerShell script for Hyper-v.   Enjoy!


<---Code Snipit---->

' Example Html table code from Name: WriteHTMLBrowser.vbs
' Author: Neal Walters

' Name: getadditions.vbs
' Author: Duane Thomas
'This code is provided as is.  No support is provided.  Use at your own risk.
' Thanks Neal Walters for the html table code example.

On Error Resume Next


dim myfilename, fso, oshell, forReading, forWriting
dim path, program, fullProgName, myTextStream, ynCreate
dim obj
Set objVS = CreateObject("VirtualServer.Application")
set colVMs = objVS.VirtualMachines

Set objGuestOS = objVM.GuestOS
set fso = CreateObject("Scripting.FileSystemObject")
set oshell = CreateObject("Wscript.Shell") 

myfilename = "c:\vmaddition.html"

forReading = 1: forWriting = 2: ynCreate = 1
set myTextStream = fso.OpenTextFile(myfilename,forWriting,ynCreate)

myTextStream.Write "<h1>Virtual Machine Additions</H1>"
myTextStream.Write "<table border=1 cellspacing=2 cellpadding=3>" & vbcrlf

   myTextStream.Write "<tr>" & vbcrlf
   myTextStream.Write "<th>Name</td>" & vbcrlf
   myTextStream.Write "<th>Guest OS</td>" & vbcrlf
   myTextStream.Write "<th>VM Addition Version</td>" & vbcrlf

   myTextStream.Write "</tr>" & vbcrlf

For Each objVM in colVMS
   myTextStream.Write "<tr>" & vbcrlf
   myTextStream.Write "<td>" & objVM.Name & "</td>" & vbcrlf
   myTextStream.Write "<td>" & objvm.GuestOS.OSName & "</td>" & vbcrlf
   myTextStream.Write "<td>" & objvm.GuestOS.AdditionsVersion & "</td>" & vbcrlf

   myTextStream.Write "</tr>" & vbcrlf

myTextStream.Write "</table>" & vbcrlf



'path = "C:\Program Files\Internet Explorer"
program = "IEXPLORE"
'FullProgname = path & "\" & program
'WScript.Echo FullProgname
'OShell.Run (program)
OShell.Run (program & " " & myfilename)

<---Code Snipit---->

Comments (4)

  1. Kris says:

    Is there a new VPC/Virtual Server version coming out soon? What is the strategy?

  2. Martin says:

    Yeah, cool script!

    But anyone can find out the version of the VM additions by clicking on Properties of the running VM in its first tab.

Skip to main content