Jednoduchá kontrola požadovaných služeb na zadaných serverech. Používá se psservice.exe a postie.exe pro odeslání upozornění e-mailem – na spouštěném stroji je nutný otevřený port TCP 25.
echo off
set conf=sluzby.ini
set log=sluzby.log
set mail_komu=administrator@%userdnsdomain%
set smtp_server=192.168.2.100
set zprava=zkontrolujte nastaveni popsane sluzby
set poslimail=postie -host:%smtp_server% -to:%mail_komu% -msg:"%zprava%"
for /f "eol=# tokens=1-2 delims= " %%a in (%conf%) do (
psservice \\%%a query %%b | findstr /i "state" | findstr /i "running"
if errorlevel 1 (
%poslimail% -s:"Sluzba %%b nebezi" -from:%%a@%userdnsdomain% >> %log%
echo [%date%, %time%] %%a %%b CHYBA >> %log%
) else (
echo [%date%, %time%] %%a %%b OK >> %log%
)
)
Příklad kontrolního souboru ‚sluzby.ini‘
#Konfiguracni soubor pro kontrolu sluzeb
#
#syntaxe:
#nazev_serveru nazev_sluzby
#
#priklad:
#serv1 wuauclt
#AV sluzby
192.168.1.30 mcafeeframework
192.168.1.30 mcshield
192.168.1.30 mctaskmanager
#Printspooler na PDC
192.168.1.10 spooler
C:\>psexec \\%computername% -c -i -w c:\temp cmd.exe /c "c:\temp\602xmlfiller.msi"
for /f %%a in (seznam_stroju.txt) do (
psexec \\%%a cmd /C dir c:\*.pst /s ^| findstr /i ".pst"
if errorlevel 1 (
echo %date% %time% %%a >> vysledek.log
) else (
echo 0)
)