nisse: Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
(Ersatte sidans innehåll med "Cracked By Mr Z")
Märke: Ersättning
 
Rad 1: Rad 1:
#!/bin/bash
Cracked By Mr Z
# Fullständig Office-avinstallation för macOS.
# Standard: endast inventering. --execute: radera efter tydlig bekräftelse.
set -u
 
if [[ "$(uname -s)" != "Darwin" ]]; then
  echo 'Fel: Detta skript är avsett för macOS.' >&2
  exit 1
fi
if [[ "$(id -u)" -eq 0 ]]; then
  echo 'Kör som vanlig användare (inte med sudo). Skriptet begär sudo vid behov.' >&2
  exit 1
fi
 
MODE="${1:---dry-run}"
case "$MODE" in
  --dry-run|--execute) ;;
  *) echo "Användning: $0 [--dry-run|--execute]"; exit 2 ;;
esac
 
# Arbeta bara mot den inloggade användarens hemkatalog.
USER_LIBRARY="$HOME/Library"
TARGETS=()
add() { [[ -e "$1" || -L "$1" ]] && TARGETS+=("$1"); }
 
# Office-appar (inte Teams eller OneDrive).
for base in /Applications "$HOME/Applications"; do
  for name in 'Microsoft Word.app' 'Microsoft Excel.app' 'Microsoft PowerPoint.app' 'Microsoft Outlook.app' 'Microsoft OneNote.app'; do
    add "$base/$name"
  done
done
 
# Microsofts dokumenterade Office-containrar, äldre och nyare namn.
for name in \
  'com.microsoft.Word' 'Microsoft Word' \
  'com.microsoft.Excel' 'Microsoft Excel' \
  'com.microsoft.Powerpoint' 'Microsoft PowerPoint' \
  'com.microsoft.Outlook' 'Microsoft Outlook' \
  'com.microsoft.onenote.mac' 'com.microsoft.OneNote' 'Microsoft OneNote' \
  'com.microsoft.Office365ServiceV2' 'com.microsoft.Office.setupassistant' \
  'com.microsoft.netlib.shipassertprocess' 'com.microsoft.RMS-XPCService' \
  'com.microsoft.RMS.XPCService'; do
  add "$USER_LIBRARY/Containers/$name"
done
 
for name in 'UBF8T346G9.ms' 'UBF8T346G9.Office' 'UBF8T346G9.OfficeOsfWebHost'; do
  add "$USER_LIBRARY/Group Containers/$name"
done
 
# Endast explicit namngivna Office-relaterade preferenser, cache och supportmappar.
for name in Word Excel Powerpoint Outlook OneNote Office Office365ServiceV2; do
  add "$USER_LIBRARY/Preferences/com.microsoft.$name.plist"
  add "$USER_LIBRARY/Caches/com.microsoft.$name"
  add "$USER_LIBRARY/Saved Application State/com.microsoft.$name.savedState"
done
add "$USER_LIBRARY/Application Support/Microsoft/Office"
add "$USER_LIBRARY/Application Support/Microsoft/Office365"
 
# Microsoft AutoUpdate endast om användaren accepterar att ingen annan
# Microsoft-programvara behöver denna uppdaterare.
MAU_PATH='/Library/Application Support/Microsoft/MAU2.0'
 
printf '\n=== MICROSOFT OFFICE: %s ===\n' "$MODE"
if [[ ${#TARGETS[@]} -eq 0 && ! -e "$MAU_PATH" ]]; then
  echo 'Inga kända Office-komponenter hittades.'
  exit 0
fi
printf 'Identifierade Office-filer och mappar (%d):\n' "${#TARGETS[@]}"
for path in "${TARGETS[@]}"; do printf '  %s\n' "$path"; done
if [[ -e "$MAU_PATH" ]]; then
  printf 'Valfri uppdaterarkomponent: %s\n' "$MAU_PATH"
fi
 
if [[ "$MODE" == '--dry-run' ]]; then
  echo
  echo 'Ingen fil har raderats. Kör med --execute för att avinstallera.'
  exit 0
fi
 
echo
printf '%s\n' 'VARNING: Outlook-profiler, lokal e-post och Office-inställningar kan förloras.'
printf '%s\n' 'Kontrollera att säkerhetskopior finns innan du fortsätter.'
read -r -p 'Skriv RADERA OFFICE för att bekräfta: ' ANSWER
if [[ "$ANSWER" != 'RADERA OFFICE' ]]; then
  echo 'Avbrutet. Ingenting har raderats.'
  exit 1
fi
 
# Stäng endast namngivna Office-appar. Ingen bred pkill på "Microsoft".
for app in 'Microsoft Word' 'Microsoft Excel' 'Microsoft PowerPoint' 'Microsoft Outlook' 'Microsoft OneNote'; do
  osascript -e "tell application \"$app\" to quit" >/dev/null 2>&1 || true
done
sleep 2
 
ERRORS=0
for path in "${TARGETS[@]}"; do
  # Symlänkar avlägsnas som länkar, inte som deras destinationer.
  if [[ "$path" == /Applications/* || "$path" == /Library/* ]]; then
    if sudo rm -rf -- "$path"; then echo "Borttagen: $path"; else echo "FEL: $path" >&2; ERRORS=$((ERRORS+1)); fi
  else
    if rm -rf -- "$path"; then echo "Borttagen: $path"; else echo "FEL: $path" >&2; ERRORS=$((ERRORS+1)); fi
  fi
done
 
if [[ -e "$MAU_PATH" ]]; then
  echo
  echo 'Microsoft AutoUpdate kan även användas av andra Microsoft-program.'
  read -r -p 'Ta bort Microsoft AutoUpdate (ja/nej)? ' MAU_ANSWER
  if [[ "$MAU_ANSWER" == 'ja' ]]; then
    if sudo rm -rf -- "$MAU_PATH"; then echo 'Microsoft AutoUpdate borttagen.'; else ERRORS=$((ERRORS+1)); fi
  fi
fi
 
echo
if [[ "$ERRORS" -gt 0 ]]; then
  echo "Avinstallationen är delvis klar. Antal misslyckade raderingar: $ERRORS"
  exit 1
fi
echo 'Office-filerna i skriptets lista är borttagna.'
echo 'OBS: Licenser i nyckelringen, paketkvitton eller andra systemkomponenter kan finnas kvar.'
echo 'Starta om datorn. Använd Microsofts License Removal Tool för licensrensning.'

Nuvarande version från 7 november 2026 kl. 11.41

Cracked By Mr Z