You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
210 lines
9.0 KiB
210 lines
9.0 KiB
@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 |
|
REM PAUSE |