62 lines
1.9 KiB
Bash
62 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# =====================================================
|
|
# Proxmox PCVISIT Master Installer
|
|
# Führt das Remote-Host Installationsscript auf ausgewählten Windows-VMs aus
|
|
# Enter = alle, oder Index-Zahlen wie 0 2 3
|
|
# =====================================================
|
|
|
|
PCVISIT_URL="https://gitea.vmd55888.de/manuel.maier/install-pcvisit-remotehost/raw/branch/main/install-pcvisit-remotehost.bat"
|
|
|
|
# ---- Alle Windows VMs abfragen ----
|
|
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? (Enter = alle, z.B. 0 2 3): " CHOICE
|
|
|
|
# ---- Ausgewählte VMs ermitteln ----
|
|
SELECTED=()
|
|
if [[ -z "$CHOICE" ]]; then
|
|
# Enter gedrückt -> alle VMs
|
|
SELECTED=("${WINDOWS_VMS[@]}")
|
|
else
|
|
# Index-Zahlen
|
|
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!"
|