This Script is used to monitor Exchange Services and raise alert if the service has been stopped.
service_name=['xxxxxx', 'yyyyyy' ] # Give the exact service name
import ctypes
class disable_file_system_redirection:
_disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
_revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
def __enter__(self):
self.old_value = ctypes.c_long()
self.success = self._disable(ctypes.byref(self.old_value))
def __exit__(self, type, value, traceback):
if self.success:
self._revert(self.old_value)
ale=0
import os
import sys
def alert(arg):
sys.stderr.write("%d%d%d" % (arg, arg, arg))
def serv(srvc_name):
with disable_file_system_redirection():
print os.popen("sc config "+srvc_name+" start=auto").read()
y=os.popen("wmic service "+srvc_name+" get state").read()
if "Stopped" in y:
ale+=1
try:
print 'The service '+srvc_name+' is in stopped state'
for i in service_name:
serv(i)
if ale!=0:
alert(1)
else:
alert(0)
print "No Specified services has been stopped"
Comments