Skip to content
Snippets Groups Projects
Commit d3471287 authored by Andreas Lindemark's avatar Andreas Lindemark
Browse files

Updated the README.md file

parent 2c1f9fcd
Branches
No related tags found
No related merge requests found
# Some scripts to use with Zabbix Agent # Some scripts to use with Zabbix Agent
## Overview ## Overview
This repository contains scripts to This repository contains scripts to:
- Check if Zabbix Agent 2 is running or not, if not copy the configuration file from the network and replace it in the installation folder and start up the Zabbix Agent 2 service
- Remove all remnants of Zabbix Agent and Zabbix Agent 2 - Remove all remnants of Zabbix Agent and Zabbix Agent 2
- Check if Zabbix Agent 2 is running or not, if not copy the configurartion file from the network and replace it in the installation folder and start up the Zabbix Agent 2 service
## Files ## Files
- `CheckAndStartZabbixAgent2.ps1`: Script to check if Zabbix Agent 2 is running or not, if not then copy the configurartion file from the network and replace it in the installation folder and start the Zabbix Agent 2 service. - `CheckAndStartZabbixAgent2.ps1`: Script to check if Zabbix Agent 2 is running or not, if not then copy the configuration file from the network and replace it in the installation folder and start the Zabbix Agent 2 service.
- `RemoveZabbix.ps1`: Script to emove all remnants of Zabbix Agent and Zabbix Agent 2. - `RemoveZabbix.ps1`: Script to remove all remnants of Zabbix Agent and Zabbix Agent 2.
## Usage ## Usage
1. Download `CheckAndStartZabbixAgent2.ps1` and create a new scheduled task run run this regurarly. 1. Download `CheckAndStartZabbixAgent2.ps1` and create a new scheduled task to run this regularly.
2. Download and run `RemoveZabbix.ps1` to remove all remnants of Zabbix Agent and Zabbix Agent 2. 2. Download and run `RemoveZabbix.ps1` to remove all remnants of Zabbix Agent and Zabbix Agent 2.
## Prerequisites ## Prerequisites
...@@ -20,49 +20,72 @@ This repository contains scripts to ...@@ -20,49 +20,72 @@ This repository contains scripts to
### Via an automatic One-Liner, that Downloads, installs and clean up ### Via an automatic One-Liner, that Downloads, installs and clean up
This one-liner download and install does the following: This one-liner download and install does the following:
1. Sets the ExecutionPolicy 1. Sets the ExecutionPolicy
2. Stop the "Zabbix Agent 2" service. 2. Stops the "Zabbix Agent 2" service.
3. Set the path where to store the script. 3. Sets the path where to store the script.
4. Download the script file to the path. 4. Downloads the script file to the path.
5. Create a scheduled task. 5. Creates a scheduled task.
6. Starts the newly created scheduled task.
1. To run the script, you need to temporarily change the PowerShell execution policy to allow script execution. You can do this by using the following one-liner code:
```powershell To download, save, and execute the script, you need to temporarily change the PowerShell execution policy to allow script execution. You can do all this by using the following one-liner code in an elevated PowerShell session:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; Stop-Service -Name "Zabbix Agent 2"; $scriptPath = "C:\Windows\System32\Tasks\CheckAndStartZabbixAgent2.ps1"; Invoke-WebRequest -Uri "https://gitlab.liu.se/andli86/snippets/-/raw/master/Windows/ZabbixAgent/CheckAndStartZabbixAgent2.ps1" -OutFile $scriptPath; schtasks /create /tn "CheckAndStartZabbixAgent2" /tr "powershell.exe -File $scriptPath" /sc hourly /mo 3 /ru SYSTEM;
``` ```powershell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; Stop-Service -Name "Zabbix Agent 2"; $scriptPath = "C:\Windows\System32\Tasks\CheckAndStartZabbixAgent2.ps1"; Invoke-WebRequest -Uri "https://gitlab.liu.se/andli86/snippets/-/raw/master/Windows/ZabbixAgent/CheckAndStartZabbixAgent2.ps1" -OutFile $scriptPath; schtasks /create /tn "CheckAndStartZabbixAgent2" /tr "powershell.exe -File $scriptPath" /sc hourly /mo 3 /ru SYSTEM; schtasks /run /tn "CheckAndStartZabbixAgent2";
```
## Manual Installation ### Manual Installation
1. **Download the script file to the computer, I prefer to the `C:\Windows\System32\Tasks\` folder**: 1. **Download the script file to the computer, preferably to the `C:\Windows\System32\Tasks\` folder**:
``` ```
https://gitlab.liu.se/andli86/snippets/-/raw/master/Windows/ZabbixAgent/CheckAndStartZabbixAgent2.ps1 https://gitlab.liu.se/andli86/snippets/-/raw/master/Windows/ZabbixAgent/CheckAndStartZabbixAgent2.ps1
``` ```
2. **Configure a Scheduled Task**: Ensure the execution policy allows the script to run. 2. **Configure a Scheduled Task**:
- Open Task Scheduler.
- Create a new task named "CheckAndStartZabbixAgent2" (or any name you prefer).
- Set the task to run the script `CheckAndStartZabbixAgent2.ps1` at the desired interval (e.g., every three hours).
- Ensure the execution policy allows the script to run.
### Manually Start the Scheduled Task
1. **From the command line in an elevated PowerShell session**:
```powershell
schtasks /run /tn "CheckAndStartZabbixAgent2" # or whatever you named the task
```
2. **From Task Scheduler**:
- Right-click the task you created and select "Run".
3. **Test run the script** by manually starting the scheduled task, perhaps with the Zabbix Agent 2 service both Started and Stopped. ### Run the Script Manually in PowerShell
1. Open an elevated PowerShell session.
2. Navigate to the directory where the script is saved.
3. Run the script:
```powershell
.\CheckAndStartZabbixAgent2.ps1
```
### Script Details
When you run the script `CheckAndStartZabbixAgent2.ps1`, it will perform the following actions: When you run the script `CheckAndStartZabbixAgent2.ps1`, it will perform the following actions:
1. **Retrive the Domain name**: ... 1. **Retrieve the Domain name**: Dynamically retrieves the domain name of the computer.
2. **Set the source path for the Zabbix Agent 2 configuration file**: ... 2. **Get the computer name**: Retrieves the computer name to determine the appropriate configuration file.
3. **Set the target path for the Zabbix Agent 2 configuration file**: ... 3. **Set the source path for the Zabbix Agent 2 configuration file**: Determines the path to the configuration files on the network.
4. **Check if Zabbix Agent 2 service is running**: Output the Service status... 4. **Set the target path for the Zabbix Agent 2 configuration file**: Specifies the local path where the configuration file should be placed.
- **Running**: Output "Zabbix Agent 2 is already running. No action needed.". And EXIT the script. 5. **Check if Zabbix Agent 2 service is running**: Outputs the service status.
- **Stopped**: Call two functions "Copy-ZabbixConfig" and "Start-ZabbixAgent2" - **Running**: Outputs "Configuration files are identical. No action needed." if the files match, or updates the configuration if they don't match.
6. **Copy-ZabbixConfig function**: Copies the zabbix_agent2.conf file from the source path to the target path. - **Stopped**: Copies the configuration file and starts the Zabbix Agent 2 service.
7. **Start-ZabbixAgent2 function**: Starts the "Zabbix Agent 2" service. 6. **Copy-ZabbixConfig function**: Copies the configuration file from the source path to the target path.
8. **EXIT**: Exit the script, since we reached the end of the file. 7. **Start-ZabbixAgent2 function**: Starts the "Zabbix Agent 2" service.
8. **Stop-ZabbixAgent2 function**: Stops the "Zabbix Agent 2" service if needed.
The script provides informative messages about its actions, such as: 9. **EXIT**: Exits the script after completing the necessary actions.
- If the Zabbix Agent 2service is running or is stopped.
- Copies the the zabbix_agent2.conf file from the source path to the target path. The script provides informative messages about its actions, such as:
- Starts the "Zabbix Agent 2" service, if it was stopped. - If the Zabbix Agent 2 service is running or stopped.
- Copies the configuration file from the source path to the target path.
## Usage - Starts the "Zabbix Agent 2" service if it was stopped.
The scheduled task `CheckAndStartZabbixAgent2` runs the following script `C:\Windows\System32\Tasks\CheckAndStartZabbixAgent2.ps1` every three hours.
## Scheduled Task Details
The scheduled task `CheckAndStartZabbixAgent2` runs the script `C:\Windows\System32\Tasks\CheckAndStartZabbixAgent2.ps1` every three hours.
## License ## License
This project is licensed under the MIT License. And is provided as-is without any warranty. Use at your own risk. This project is licensed under the MIT License and is provided as-is without any warranty. Use at your own risk.
## Author ## Author
Andreas Lindemark, Linköping University Andreas Lindemark, Linköping University
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment