nisse: Skillnad mellan sidversioner

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök
(Skapade sidan med ' 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-p...')
 
Ingen redigeringssammanfattning
Rad 1: Rad 1:
#!/bin/bash
# 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.'
   echo 'Inga kända Office-komponenter hittades.'
   exit 0
   exit 0

Versionen från 7 november 2026 kl. 11.01

  1. !/bin/bash
  2. Fullständig Office-avinstallation för macOS.
  3. 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

  1. Arbeta bara mot den inloggade användarens hemkatalog.

USER_LIBRARY="$HOME/Library" TARGETS=() add() { | -L "$1" && TARGETS+=("$1"); }

  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

  1. 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

  1. 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"

  1. Microsoft AutoUpdate endast om användaren accepterar att ingen annan
  2. 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

  1. 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" == /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.'