2018-01-16 12:27:36 +01:00
|
|
|
@echo off
|
|
|
|
REM 2015 Bernhard Linz / Bernhard.Linz@datagroup.de / Bernhard@znil.de
|
|
|
|
REM Script for Installing Zabbix-Agent on Windows System via GPO,
|
|
|
|
REM take a look at: http://znil.net/index.php?title=Zabbix_Agent_per_Gruppenrichtlinie_installieren_lassen
|
|
|
|
@echo off
|
|
|
|
cls
|
|
|
|
Echo +---------------------------------------------------------+
|
|
|
|
Echo ^| Starting Script InstallZabbixAgentGPO ^|
|
|
|
|
Echo +---------------------------------------------------------+
|
|
|
|
Echo.
|
|
|
|
REM Globale Variables
|
|
|
|
Set GPO_INSTALL_AGENT=FALSE
|
|
|
|
Set GPO_COMPUTERNAME=%COMPUTERNAME% x
|
|
|
|
Set GPO_COMPUTERNAME=%GPO_COMPUTERNAME:~0,15%
|
|
|
|
REM Loading Configuration for GPO-Installer
|
|
|
|
Set GPO_CURPATH=%~dp0
|
|
|
|
If EXIST "%GPO_CURPATH%\InstallZabbixAgentGPO\ConfigGPO.bat" (
|
|
|
|
CALL "%GPO_CURPATH%\InstallZabbixAgentGPO\ConfigGPO.bat"
|
|
|
|
) else (
|
|
|
|
echo Missing "%GPO_CURPATH%\InstallZabbixAgentGPO\ConfigGPO.bat" !!!!
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
If EXIST "%GPO_CURPATH%Config.bat" (
|
|
|
|
CALL "%GPO_CURPATH%Config.bat"
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - ERROR - %DATE% - %TIME%: %GPO_CURPATH%Config.bat not found >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
echo Missing "%GPO_CURPATH%Config.bat (for InstallZabbixAgent.bat)" !!!!
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
|
|
|
|
REM ###### ## ## ######## ###### ## ## ######
|
|
|
|
REM ## ## ## ## ## ## ## ## ## ## ##
|
|
|
|
REM ## ## ## ## ## ## ## ##
|
|
|
|
REM ####### ####### ## ######### ###### ## ##### ###### ####### #######
|
|
|
|
REM ## ## ## ## ## ## ## ##
|
|
|
|
REM ## ## ## ## ## ## ## ## ## ## ##
|
|
|
|
REM ###### ## ## ######## ###### ## ## ######
|
|
|
|
|
|
|
|
REM Make a test if Zabbix-Agent is already installed
|
|
|
|
sc query "Zabbix Agent" >nul 2>&1
|
|
|
|
If NOT ERRORLEVEL 1 (
|
|
|
|
Echo Zabbix-Agent already installed - Install Agent DENIED - Exit Script
|
|
|
|
GoTo END
|
|
|
|
) Else (
|
|
|
|
Echo Missing Zabbix-Agent Configuration-File - Install Agent ALLOWED
|
|
|
|
Set GPO_INSTALL_AGENT=TRUE
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REM Show used Configuration
|
|
|
|
Echo.
|
|
|
|
Echo Using following Settings:
|
|
|
|
Echo -------------------------
|
|
|
|
Set GPO_
|
|
|
|
|
|
|
|
REM Make the "Server or Workstation Check
|
|
|
|
Echo.
|
|
|
|
Echo Check OS for Server or Workstation
|
|
|
|
For /f "tokens=*" %%i in ('wmic os get caption ^| findstr /I "Windows"') do (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_POSITIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - INFO - %DATE% - %TIME%: OS-Type: %%i >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOG_NEGATIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - INFO - %DATE% - %TIME%: OS-Type: %%i >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
wmic os get caption | findstr /I "Server"
|
|
|
|
If ERRORLEVEL 1 (
|
|
|
|
Echo %COMPUTERNAME% is a Windows Workstation
|
|
|
|
If "%GPO_INSTALL_WORKSTATION%" == "YES" (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_POSITIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - SUCCESS - %DATE% - %TIME%: Type WORKSTATION ALLOWED >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Set GPO_INSTALL_AGENT=TRUE
|
|
|
|
Echo GPO_INSTALL_WORKSTATION is YES - Install Agent ALLOWED
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_NEGATIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - ERROR - %DATE% - %TIME%: Type WORKSTATION not ALLOWED >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Echo GPO_INSTALL_WORKSTATION is NO - Install Agent DENIED - Exit Script
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
)else (
|
|
|
|
Echo %COMPUTERNAME% is a Windows Server
|
|
|
|
If "%GPO_INSTALL_SERVER%" == "YES" (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_POSITIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - SUCCESS - %DATE% - %TIME%: Type SERVER ALLOWED >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Set GPO_INSTALL_AGENT=TRUE
|
|
|
|
Echo GPO_INSTALL_SERVER is YES - Install Agent ALLOWED
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_NEGATIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - ERROR - %DATE% - %TIME%: Type SERVER not ALLOWED >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Echo GPO_INSTALL_SERVER is NO - Install Agent DENIED - Exit Script
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
REM Start the Whitelist Check
|
|
|
|
If "%GPO_USE_WHITELIST%" == "YES" (
|
|
|
|
Echo.
|
|
|
|
Echo Check if %COMPUTERNAME% is whitelisted ...
|
|
|
|
If EXIST "%GPO_CURPATH%InstallZabbixAgentGPO\Whitelist.txt" (
|
|
|
|
findstr /I /B /E "%COMPUTERNAME%" "%GPO_CURPATH%InstallZabbixAgentGPO\Whitelist.txt"
|
|
|
|
If ERRORLEVEL 1 (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_NEGATIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - ERROR - %DATE% - %TIME%: Name not in Whitelist.txt >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Echo %COMPUTERNAME% is NOT listet at "%GPO_CURPATH%InstallZabbixAgentGPO\Whitelist.txt"
|
|
|
|
Echo Install Agent DENIED - Exit Script
|
|
|
|
GoTo END
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_POSITIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - SUCCESS - %DATE% - %TIME%: Name is in Whitelist.txt >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Set GPO_INSTALL_AGENT=TRUE
|
|
|
|
Echo %COMPUTERNAME% is listet at "%GPO_CURPATH%InstallZabbixAgentGPO\Whitelist.txt"
|
|
|
|
Echo Install Agent ALLOWED
|
|
|
|
)
|
|
|
|
) else (
|
|
|
|
Echo Missing "%GPO_CURPATH%InstallZabbixAgentGPO\Whitelist.txt"
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
REM Start the Blacklist Check
|
|
|
|
If "%GPO_USE_BLACKLIST%" == "YES" (
|
|
|
|
Echo.
|
|
|
|
Echo Check if %COMPUTERNAME% is blacklisted ...
|
|
|
|
If EXIST "%GPO_CURPATH%InstallZabbixAgentGPO\Blacklist.txt" (
|
|
|
|
findstr /I /B /E "%COMPUTERNAME%" "%GPO_CURPATH%InstallZabbixAgentGPO\Blacklist.txt"
|
|
|
|
If ERRORLEVEL 1 (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_POSITIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - SUCCESS - %DATE% - %TIME%: Name is NOT in Blacklist.txt >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Set GPO_INSTALL_AGENT=TRUE
|
|
|
|
Echo %COMPUTERNAME% is NOT listet at "%GPO_CURPATH%InstallZabbixAgentGPO\Blacklist.txt"
|
|
|
|
Echo Install Agent ALLOWED
|
|
|
|
) else (
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
If "%GPO_LOG_NEGATIVE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - ERROR - %DATE% - %TIME%: Name is in Blacklist.txt >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
)
|
|
|
|
Echo %COMPUTERNAME% is listet at "%GPO_CURPATH%InstallZabbixAgentGPO\Blacklist.txt"
|
|
|
|
Echo Install Agent DENIED - Exit Script
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
) else (
|
|
|
|
Echo Missing "%GPO_CURPATH%InstallZabbixAgentGPO\Blacklist.txt"
|
|
|
|
GoTo END
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
REM #### ## ## ###### ######## ### ## ##
|
|
|
|
REM ## ### ## ## ## ## ## ## ## ##
|
|
|
|
REM ## #### ## ## ## ## ## ## ##
|
|
|
|
REM ####### ####### ## ## ## ## ###### ## ## ## ## ## ####### #######
|
|
|
|
REM ## ## #### ## ## ######### ## ##
|
|
|
|
REM ## ## ### ## ## ## ## ## ## ##
|
|
|
|
REM #### ## ## ###### ## ## ## ######## ########
|
|
|
|
|
|
|
|
REM Call the Installation Script
|
|
|
|
Echo.
|
|
|
|
Echo Start Agent-Installation ...
|
|
|
|
If "%GPO_LOGGING_ENABLE%" == "YES" (
|
|
|
|
Echo %GPO_COMPUTERNAME% - INSTALL - %DATE% - %TIME%: Start Installation: %GPO_INSTALLER% >>%GPO_LOGGING_GLOBAL_LOG_FILE%
|
|
|
|
)
|
|
|
|
If "%GPO_LOGGING_PER_HOST%" == "YES" (
|
|
|
|
%GPO_INSTALLER% > %GPO_LOGGING_PATH%\%COMPUTERNAME%.LOG
|
|
|
|
) else (
|
|
|
|
%GPO_INSTALLER%
|
|
|
|
)
|
|
|
|
GoTo END
|
|
|
|
|
|
|
|
REM ######## ## ## ########
|
|
|
|
REM ## ### ## ## ##
|
|
|
|
REM ## #### ## ## ##
|
|
|
|
REM ####### ####### ###### ## ## ## ## ## ####### #######
|
|
|
|
REM ## ## #### ## ##
|
|
|
|
REM ## ## ### ## ##
|
|
|
|
REM ######## ## ## ########
|
|
|
|
:END
|
|
|
|
Echo.
|
|
|
|
Echo +---------------------------------------------------------+
|
|
|
|
Echo ^| Stopping Script InstallZabbixAgentGPO ^|
|
|
|
|
Echo +---------------------------------------------------------+
|
|
|
|
REM exit 0
|
2017-09-08 21:22:38 +02:00
|
|
|
REM PAUSE
|