install-pcvisit-remotehost.sh hinzugefügt

This commit is contained in:
2026-01-27 14:57:55 +01:00
parent 918fa1c516
commit 145a0c2a56

View File

@@ -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!"