Files
win-remote-toolkit/scripts/ssh/remove-windows-ai.sh
2026-04-24 17:44:02 +08:00

34 lines
1.2 KiB
Bash
Executable File

#!/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'"