- PowerShell 100%
|
Paul Berz
36f376ac48
rmm-deploy.ps1 hinzugefügt + README aktualisiert
Neues Script für Tactical RMM: idempotentes WireGuard-Deployment mit winget-Fallback auf Direktdownload, LimitedOperatorUI, Non-Admin-Support und ConfigBase64 via Parameter oder Umgebungsvariable. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| manuell-for-nonadmins | manuell-for-nonadmins/README.md aktualisiert | |
| install.ps1 | install.ps1 aktualisiert | |
| README.md | rmm-deploy.ps1 hinzugefügt + README aktualisiert | |
| rmm-deploy.ps1 | rmm-deploy.ps1 hinzugefügt + README aktualisiert | |
Wireguard Service Installer (Windows)
Dieses Repository enthält ein PowerShell-Installationsskript, das:
- WireGuard via winget installiert
- eine WireGuard-Konfiguration sicher nach
C:\Program Files\WireGuard\config\<TunnelName>.confkopiert (ACLs: nurSYSTEMundAdministrators) - den WireGuard Tunnel als Windows-Dienst anlegt/aktualisiert
- den Dienst startet
Quick Start
Set-ExecutionPolicy -Scope Process Unrestricted -Force
$script = (New-Object System.Net.WebClient).DownloadString('https://codeberg.org/berzdev/wireguard-windows/raw/branch/main/install.ps1')
& ([ScriptBlock]::Create($script)) -ConfigPath ".\wg0.conf"
Verwendung
PowerShell als Administrator ausführen (das Skript eleviert sich bei Bedarf auch selbst):
Set-ExecutionPolicy -Scope Process Bypass
.
\install.ps1 -ConfigPath .\wg0.conf
Optional ohne Starten des Dienstes:
.\install.ps1 -ConfigPath .\wg0.conf -TunnelName wg0 -SkipStart
Hinweise
- Der Windows Service-Name lautet:
WireGuardTunnel$<TunnelName> - Das Skript nutzt:
winget install --id WireGuard.WireGuard --source winget --silent ...
rmm-deploy.ps1 — Deployment via Tactical RMM
rmm-deploy.ps1 ist das Pendant zu install.ps1 für den Einsatz über ein RMM-System (z. B. Tactical RMM). Es ist idempotent, läuft als SYSTEM-Kontext und unterstützt Non-Admin-Benutzer.
Funktionsumfang:
- Installiert WireGuard via winget — fällt automatisch auf einen Direktdownload von
download.wireguard.comzurück, wenn winget nicht verfügbar ist - Setzt das Registry-Flag
LimitedOperatorUI, damit Nicht-Admins Tunnel in der WireGuard-GUI starten/stoppen können - Fügt beliebige Benutzer zur Gruppe Netzwerkkonfigurations-Operatoren hinzu
- Schreibt die Konfiguration atomisch und registriert den Tunnel als Windows-Dienst mit
delayed-auto-Start
Parameter
| Parameter | Beschreibung |
|---|---|
-ConfigBase64 |
WireGuard-Config als Base64-String (ohne: nur WireGuard installieren) |
-TunnelName |
Name des Tunnels / der .conf-Datei (Standard: wg0) |
-VpnUsers |
Kommagetrennte Benutzer für Non-Admin-Zugriff, z. B. "PC\Regina,DOM\User" |
-SkipStart |
Dienst nicht sofort starten (startet automatisch beim nächsten Boot) |
Base64-Config erzeugen
[Convert]::ToBase64String([IO.File]::ReadAllBytes('wg0.conf'), 'None')
'None'verhindert Zeilenumbrüche im Base64-String — wichtig für die korrekte Übergabe als Argument oder Umgebungsvariable.
Übergabe in Tactical RMM
Option A — Script Argument:
-ConfigBase64 "W0ludGVyZmF..." -TunnelName office -VpnUsers "PC\Regina,DOM\User"
Option B — Umgebungsvariable (empfohlen bei langen Configs):
| Name | Wert |
|---|---|
WG_CONFIG_BASE64 |
W0ludGVyZmF... |
Script Arguments dann nur noch: -VpnUsers "PC\Regina,DOM\User"
Das Skript prüft automatisch zuerst den Parameter, dann die Umgebungsvariable WG_CONFIG_BASE64.