“Must-Have” Tools – Sun VirtualBox

Over the past few years, I’ve bounced between virtualization products in my home test lab, including MS Virtual PC and Virtual Server, as well as VMWare Server and Desktop.  Given the option, I’d love to have a Windows 2008 Hyper-V server to run my home development environment, but given the hardware requirements, I don’t see that happening soon.   Recently, I have made the switch to Sun’s free VirtualBox product for both desktop and server virtualization at home.   VirtualBox is an end-user oriented product based on Xen server and has an impressive feature set, including 64 bit OS support and a native RDP server that allows RDP connections even when the OS isn’t loaded.   VirtualBox can also read VMDK and VHD virtual disks.   I was able to take some VHD files for VM’s built in Virtual Server, create a new VirtualBox VM (using the VHD files) and boot the OS without performing any radical conversion process.  Presently, I have a VirtualBox instance on my workstation for desktop OS virtualization, as well as a VirtualBox instance running on a CentOS server that I use for server oS virtualization.   Using the VirtualBox command line implementation, services can easily be configured on Linux to enable automatic starting and suspending with server boots.  For more info see: http://www.glump.net/howto/virtualbox_as_a_service

VirtualBox can be downloaded at:  www.virtualbox.org

SCOM: Monitoring the WSH Version on Windows Agents

Given the severe performance issues that can be caused by SCOM monitoring on hosts without the Windows Script Host 5.7, and the possibility that WSH 5.7 binaries can be replaced with older versions by Windows File Protection (http://support.microsoft.com/default.aspx/kb/955360), I’ve found it useful to use a SCOM unit monitor to monitor managed agents for the expected WSH version (5.7 or later).  

The script that I’ve written for this purpose first checks the OS Caption with WMI (to exclude 64bit hosts from the check) and then checks the version of cscript.exe using a WSH FileSystemObject. 

set oFSO = CreateObject(“Scripting.FileSystemObject”)
 sFileVersion=oFSO.GetFileVersion(sWinDir & “\system32\cscript.exe”)

To deploy this as a unit monitor, create a two-state timed script monitor.   Set the unhealthy state expression to:  Property[@Name=’status’] equals Error and the healthy state expression to Property[@Name=’status’] equals OK.

A message with a description of the problem and the current cscript.exe version can be added to the alert with the  $Data/Context/Property[@Name=”Message”]$  Xpath string.