//Copyright (c) Microsoft Corporation. All rights reserved.
//************************************************************************
// $ScriptName: "Check 'services to monitor' registry key" $
//
// Purpose - Check if the registry key was created and its content
//
// $File: Check_services_to_monitor_registry_key.js $
//
// $Date: 2004/05/03 20:59:12 $ $Revision: 3 $
//************************************************************************
// Event Constants
EVENT_SOURCE = "Check 'services to monitor' registry key";
// Event ID Constants
var EVENT_ID_BASE_STATE_OK = 100000;
UNEXPECTED_EXCEPTION_EVENT_ID = 9016
SERVICES_NOT_MONITORED_EVENT_ID = 9962;
NO_MONITORED_SVCS_REGKEY_EVENT_ID = 9963;
NORMAL = 0;
NOT_RUNNING = -1;
NOT_INSTALLED = -2;
NO_REGKEY_SENTINEL = "...";
MONITORED_SVCS_REGKEY = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Exchange MOM\\Monitored Services";
VerifyServicesToMonitorRegKey:
try {
strSvcNames = GetServicesNames(MONITORED_SVCS_REGKEY);
if (strSvcNames == NO_REGKEY_SENTINEL) {
// Do nothing the event was generated inside GetServicesNames
}
else if (strSvcNames == "" || strSvcNames == MONITORED_SVCS_REGKEY) {
CreateEvent(SERVICES_NOT_MONITORED_EVENT_ID, EVENT_TYPE_INFORMATION,"The registry key to specify the list of services to monitor is empty.");
}
else
{
CreateEvent(10000, EVENT_TYPE_INFORMATION, "Registry Key Check Successful");
}
}
catch(err) {
CreateEvent(
UNEXPECTED_EXCEPTION_EVENT_ID,
EVENT_TYPE_ERROR,
"The script aborted its execution due to the following error:\r\rError source: " + err.source + "\rError description: " + err.description + "\rError number: " + HResultToString(err.number));
}
function GetServicesNames(strEntry)
{
try {
objShell = new ActiveXObject("WScript.Shell");
strServicesNames = objShell.RegRead(strEntry);
}
catch(err) {
strServicesNames = NO_REGKEY_SENTINEL;
CreateEvent(
NO_MONITORED_SVCS_REGKEY_EVENT_ID,
EVENT_TYPE_SUCCESS,
"Cannot read the registry key containing the list of services to monitor.\rReason: " + err.description + "\rError number: " + HResultToString(err.number));
}
return (strServicesNames);
}