if (WScript.Arguments.length != ARGUMENT_COUNT) {
WScript.Quit(0);
}
var vmName = WScript.Arguments(0);
var excludeDisks = WScript.Arguments(1);
var freePctThreshold = convertArg(WScript.Arguments(2));
var diskNames = WScript.Arguments(3);
var freePctValues = WScript.Arguments(4);
var freeMBValues = WScript.Arguments(5);
var momApi = new ActiveXObject("MOM.ScriptAPI");
var bag = momApi.CreatePropertyBag();
var dict = new ActiveXObject("Scripting.Dictionary");
var extDict = new ActiveXObject("Scripting.Dictionary");
var keys = new Array();
var diskArray = diskNames.split(",");
var pctArray = freePctValues.split(",");
var mbArray = freeMBValues.split(",");
if ((diskArray.length != pctArray.length) || (diskArray.length != mbArray.length)) {
WScript.echo("Problem matching disk names and disk usage values");
WScript.Quit(0);
}
var z = diskArray.length - 1;
var i = 0;
for (i = 0; i < z; i++) {
dict.Add(diskArray[i], pctArray[i]);
extDict.Add(diskArray[i], mbArray[i]);
keys.push(diskArray[i]);
}
keys.sort(function (a, b) {
var avalue = parseFloat(dict.Item(a));
var bvalue = parseFloat(dict.Item(b));
return avalue < bvalue ? -1 : avalue > bvalue ? 1 : 0;
});
var msgTxt = "The virtual machine " + vmName + " has a disk space issue. One or more disk partitions has breached the threshold for free % remaining.\r\n\r\n";
msgTxt += "The disk partitions breaching threshold are:\r\n";
msgTxt += "Drive Name - Free space %\r\n";
for (i = 0; i < keys.length; i++) {
if ((dict.Item(keys[i]) < freePctThreshold) && !(excludeDisks.indexOf(keys[i]) >= 0)) {
msgTxt += keys[i] + " - " + dict.Item(keys[i]) + "%\r\n";
}
}