From 145a0c2a56b141d9e33aff0989a6f134058cdd3a Mon Sep 17 00:00:00 2001 From: "manuel.maier" Date: Tue, 27 Jan 2026 14:57:55 +0100 Subject: [PATCH] =?UTF-8?q?install-pcvisit-remotehost.sh=20hinzugef=C3=BCg?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install-pcvisit-remotehost.sh | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 install-pcvisit-remotehost.sh diff --git a/install-pcvisit-remotehost.sh b/install-pcvisit-remotehost.sh new file mode 100644 index 0000000..25726bf --- /dev/null +++ b/install-pcvisit-remotehost.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# ===================================================== +# Proxmox PCVISIT Master Installer +# Führt das Remote-Host Installationsscript auf ausgewählten Windows-VMs aus +# ===================================================== + +# URL zum Batch-Script +PCVISIT_URL="https://gitea.vmd55888.de/manuel.maier/install-pcvisit-remotehost/raw/branch/main/install-pcvisit-remotehost.bat" + +# Alle VMs abfragen (nur Windows) +echo "Lese alle Windows VMs aus..." +mapfile -t WINDOWS_VMS < <(qm list | awk 'NR>1 {print $1, $2}' ) + +if [ ${#WINDOWS_VMS[@]} -eq 0 ]; then + echo "Keine VMs gefunden." + exit 1 +fi + +echo "Gefundene VMs:" +for i in "${!WINDOWS_VMS[@]}"; do + echo "[$i] ${WINDOWS_VMS[$i]}" +done + +echo +read -p "Welche VMs sollen installiert werden? (z.B. 0 2 3 oder 'all'): " CHOICE + +# Ausgewählte VMs ermitteln +SELECTED=() +if [[ "$CHOICE" == "all" ]]; then + SELECTED=("${WINDOWS_VMS[@]}") +else + for index in $CHOICE; do + if [[ $index =~ ^[0-9]+$ ]] && [[ -n "${WINDOWS_VMS[$index]}" ]]; then + SELECTED+=("${WINDOWS_VMS[$index]}") + fi + done +fi + +# Script auf jeder VM ausführen +for vm in "${SELECTED[@]}"; do + VMID=$(echo $vm | awk '{print $1}') + VMNAME=$(echo $vm | awk '{print $2}') + echo "----------------------------------------" + echo "Installiere PCVisit auf VMID $VMID ($VMNAME)..." + + echo " -> Erstelle C:\\TMP..." + qm guest exec $VMID -- powershell -Command "mkdir C:\TMP" >/dev/null + + echo " -> Lade Batch-Script herunter..." + qm guest exec $VMID -- powershell -Command "Invoke-WebRequest -Uri '$PCVISIT_URL' -OutFile 'C:\TMP\install-pcvisit-remotehost.bat'" >/dev/null + + echo " -> Starte Installation..." + qm guest exec $VMID -- cmd /c "C:\TMP\install-pcvisit-remotehost.bat" + + echo " -> Fertig!" +done + +echo +echo "✅ Installation auf allen ausgewählten VMs abgeschlossen!" \ No newline at end of file