1
0
Fork
You've already forked wireguard-windows
0
No description
  • 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>
2026年05月05日 12:15:53 +02:00
manuell-for-nonadmins manuell-for-nonadmins/README.md aktualisiert 2026年02月22日 17:56:18 +01:00
install.ps1 install.ps1 aktualisiert 2026年02月16日 11:17:50 +01:00
README.md rmm-deploy.ps1 hinzugefügt + README aktualisiert 2026年05月05日 12:15:53 +02:00
rmm-deploy.ps1 rmm-deploy.ps1 hinzugefügt + README aktualisiert 2026年05月05日 12:15:53 +02:00

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>.conf kopiert (ACLs: nur SYSTEM und Administrators)
  • 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.com zurü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.