#!/usr/bin/env bash set -euo pipefail HOST="${HOST:-192.168.88.108}" USER_NAME="${USER_NAME:-Admin}" PASS="${PASS:-P@ssw0rd!}" MODE="${MODE:-Apply}" # Apply | Revert HERE="$(cd "$(dirname "$0")" && pwd)" SCRIPT="$HERE/../powershell/remove-windows-ai.ps1" LOG_DIR="$HERE/../../logs" STAMP="$(date +%Y%m%d-%H%M%S)" LOG="$LOG_DIR/remove-windows-ai-${HOST}-${MODE}-${STAMP}.log" mkdir -p "$LOG_DIR" SSH_OPTS=(-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=10 -o ServerAliveInterval=30) echo "[*] Uploading remove-windows-ai.ps1 to $USER_NAME@$HOST" sshpass -p "$PASS" scp "${SSH_OPTS[@]}" "$SCRIPT" \ "$USER_NAME@$HOST:C:/Users/$USER_NAME/remove-windows-ai.ps1" >/dev/null echo "[*] Mode=$MODE. Running on $HOST — this can take several minutes" echo "[*] Log -> $LOG" # Force Windows PowerShell 5.1 (powershell.exe), not pwsh 7. sshpass -p "$PASS" ssh "${SSH_OPTS[@]}" "$USER_NAME@$HOST" \ "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:/Users/$USER_NAME/remove-windows-ai.ps1 -Mode $MODE" \ 2>&1 | tee "$LOG" echo "[*] Done. Saved: $LOG" echo "" echo "NOTE: A reboot is recommended. Reboot with:" echo " sshpass -p '$PASS' ssh $USER_NAME@$HOST 'shutdown /r /t 5'"