Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

OffScrub 스크립트로 이전 버전의 Microsoft Office 자동 완전 제거하기

모든 사용자 PC에 최신 버전의 MS Office(Office 2016)를 대량 배포하고 KMS 서버를 통해 정품 인증해야 하는 상황이라면, 기존에 설치된 모든 이전 버전의 Microsoft Office를 자동으로 정확하게 제거하는 스크립트가 필요합니다. 특히 SCCM 패키지를 활용한 자동 제거/설치 작업에서는 이러한 스크립트가 필수적입니다.

새로운 Office 버전을 설치하기 전에는 기존에 설치된 이전 버전을 먼저 제거하는 것이 좋습니다. 한 컴퓨터에서 여러 Office 버전을 동시에 사용하는 것은 기술적으로 가능하지만, 충돌 및 오류 가능성 때문에 권장되지 않습니다. 따라서 PC에 설치된 어떤 Office 버전이든 올바르게 제거할 수 있는 스크립트가 필요합니다.

OffScrub VBS 스크립트란?

여러 가지 제거 방법을 검토한 끝에, Microsoft 프리미어 지원 서비스(Premier Support)에서 제공하는 OffScrub 스크립트를 사용하기로 했습니다. OffScrub 스크립트는 공식 EasyFix 패키지에 포함되어 있으며, 제어판에서 제거가 불가능한 경우 Office 2007과 2010을 강제로 삭제하는 데 사용됩니다. Office 2013 및 2016의 경우에는 O15CTRRemove.diagcab 패키지라는 별도 도구를 사용하며, 이 패키지 역시 OffScrub 스크립트를 포함하고 있습니다.

OffScrub은 Office 제품을 자동으로 제거하기 위한 VBS 스크립트 모음입니다. 이 스크립트를 사용하면 현재 Office의 작동 상태와 무관하게 시스템에서 이전에 설치된 Office 구성 요소를 완전히 정리할 수 있습니다. OffScrub을 사용해 Office를 제거할 때의 주요 장점은 다음과 같습니다.

  1. 원본 설치 파일이나 Office 캐시가 없거나 손상된 경우에도 이전 버전의 Office를 제거할 수 있습니다.
  2. 레지스트리의 사용자 키는 영향을 받지 않습니다.
  3. Office를 완전히 제거합니다.
  4. Project, Visio, Visio Viewer를 포함한 모든 제품과 오래된 설정까지 삭제합니다.

O15CTRRemove.diagcab 패키지에 포함된 Remove-PreviousOfficeInstalls.ps1 스크립트는 설치된 Office 버전을 감지하여 해당 버전에 맞는 Offscrub*.vbs 스크립트를 자동으로 호출합니다.

필요한 파일 다운로드

먼저 사용 중인 Office 및 Windows 버전에 맞는 FixIt 패키지를 Microsoft 공식 웹사이트에서 다운로드해야 합니다. O15CTRRemove.diagcab 패키지는 Microsoft 지원 페이지(https://support.microsoft.com/en-us/kb/971179)에서 다운로드할 수 있습니다.

중요 참고 사항: 과거에는 해당 페이지에서 EasyFix 패키지와 O15CTRRemove.diagcab 두 가지 링크를 모두 제공했지만, 현재는 Windows 7 SP1, Windows 8.1, Windows 10에서 Office 2013/2016을 제거할 수 있는 범용 패키지인 O15CTRRemove.diagcab만 제공됩니다. 또한 초기에는 O15CTRRemove.diagcab 안에 새 Office 버전용 Offscrub 스크립트가 포함되어 있었지만, 현재는 PowerShell 스크립트만 남아 있습니다. 이러한 Offscrub VBS 스크립트는 이제 GitHub의 Office 개발팀 공식 저장소(OfficeDev)에서만 받을 수 있습니다.

버전별 제거 파일 정리표

다음 표는 OS 버전별로 각 Office 버전을 제거하는 데 필요한 Microsoft 패키지 링크를 정리한 것입니다.

Office 버전Windows 7 / 8Windows 10
Office 2003MicrosoftFixit20054.mini.diagcab미지원
Office 2007MicrosoftFixit20052.mini.diagcab미지원
Office 2010MicrosoftFixit20055.mini.diagcab
Office 2013GitHub의 OffScrub_O15msi.vbs
Office 2016GitHub의 OffScrub_O16msi.vbs
Office 365 / 클릭투런(C2R)GitHub의 OffScrubc2r.vbs

파일 준비 및 디렉터리 구성

파일을 다운로드한 후 C:\tools\OfficeUninstall 폴더에 저장합니다. *.diagcab 파일은 CAB 형식의 일반 압축 아카이브이므로 expand 명령으로 압축을 해제할 수 있습니다.

관리 편의성을 위해 각 Office 버전별로 별도 디렉터리를 생성합니다:

set OFFICEREMOVE=C:\tools\OfficeUninstall\
md "%OFFICEREMOVE%\2003"
md "%OFFICEREMOVE%\2007"
md "%OFFICEREMOVE%\2010"
md "%OFFICEREMOVE%\2013"
md "%OFFICEREMOVE%\2016"
md "%OFFICEREMOVE%\O365"

다운로드한 diagcab 아카이브에서 VBS 파일만 추출합니다:

expand -i "%OFFICEREMOVE%\MicrosoftFixit20054.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2003"
expand -i "%OFFICEREMOVE%\MicrosoftFixit20052.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2007"
expand -i "%OFFICEREMOVE%\MicrosoftFixit20055.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2010"

그리고 GitHub에서 다운로드한 새 Office 버전용 VBS 파일들을 같은 디렉터리로 이동시킵니다:

move /y "%OFFICEREMOVE%\OffScrub_O15msi.vbs" "%OFFICEREMOVE%\2013"
move /y "%OFFICEREMOVE%\OffScrub_O16msi.vbs" "%OFFICEREMOVE%\2016"
move /y "%OFFICEREMOVE%\OffScrubc2r.vbs" "%OFFICEREMOVE%\O365"

이렇게 하면 다음과 같은 VBS 파일들이 준비됩니다:

  • 2003\OffScrub03.vbs
  • 2007\OffScrub07.vbs
  • 2010\OffScrub10.vbs
  • 2013\OffScrub_O15msi.vbs
  • 2016\OffScrub_O16msi.vbs
  • O365\OffScrubc2r.vbs

각 OffScrub VBS 스크립트에서 사용 가능한 인수 목록은 다음 명령으로 확인할 수 있습니다:

OffScrub_O16msi.vbs /?

Microsoft Customer Support Service – Office 2016 MSI Removal Utility
OffScrub_O16msi.vbs helps to remove Office 2016 MSI Server and Client products
Usage: OffScrub_O16msi.vbs [List of config ProductIDs] [Options]

SCCM에서 OffScrub VBS 스크립트 실행하기

32비트 Configuration Manager 클라이언트로 스크립트를 실행할 때 Windows x64 환경에서 올바르게 작동하려면, 적절한 버전의 cscript.exe를 호출해야 합니다. 64비트 시스템에서 스크립트를 실행하려면 C:\Windows\SysWOW64의 cscript.exe를 사용해야 합니다.

이는 NativeCScript.cmd 스크립트를 통해 해결할 수 있습니다:

@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
"%SystemRoot%\Sysnative\cscript.exe" %*
) else (
"%SystemRoot%\System32\cscript.exe" %*
)

필요한 모든 파일이 포함된 바로 사용 가능한 압축 파일(OfficeRemoval-OffScrub.zip, 약 1.4MB)을 다운로드하여 활용할 수도 있습니다.

버전별 Office 제거 명령어

Office 2003 제거 유틸리티

컴퓨터에서 Office 2003 구성 요소를 완전히 제거하는 수동 실행 명령은 다음과 같습니다:

Cscript.exe "%OFFICEREMOVE%\2003\OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCM 작업으로 실행할 경우 제거 프로그램 명령은 다음과 같습니다:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2003\OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2007 제거 유틸리티

Office 2007 구성 요소를 완전히 제거하는 명령:

Cscript.exe "%OFFICEREMOVE%\2007\OffScrub07.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCM 작업으로 실행할 경우:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2007\OffScrub07.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2010 제거 유틸리티

Microsoft Office 2010을 완전히 제거하는 명령:

Cscript.exe "%OFFICEREMOVE%\2010\OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE

Configuration Manager에서 실행할 경우:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2010\OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2013 제거 유틸리티

Office 2013 MSI 제품을 완전히 제거하는 명령:

Cscript.exe "%OFFICEREMOVE%\2013\OffScrub_O15msi.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCM 작업으로 실행할 경우:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2013\OffScrub_O15msi.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2016 제거 유틸리티

현재 컴퓨터에서 Office 2016 MSI 제품을 완전히 제거하는 OffScrub 스크립트 실행 명령:

Cscript.exe "%OFFICEREMOVE%\2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCM 패키지를 통해 Office 2016 제거를 실행하는 명령:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 클릭투런(C2R) 및 Office 365 제거 스크립트

Office Click-to-Run 또는 Office 365 패키지를 제거하려면 다음 명령을 실행합니다:

Cscript.exe "%OFFICEREMOVE%\C2R\OffScrubc2r.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCM 작업으로 실행할 경우:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "C2R\OffScrubc2r.vbs" ALL /Quiet /NoCancel /OSE"

MS Office 버전 자동 감지

Remove-PreviousOfficeInstalls.ps1은 Git의 Remove-PreviousOfficeInstalls 프로젝트에서 제공되는 PowerShell 스크립트입니다. 이 스크립트는 컴퓨터에 설치된 MS Office의 버전과 정품 인증 상태를 자동으로 감지하고, 해당 버전에 맞는 OffScrub 스크립트를 호출합니다. 일부 수정을 거치면 자동화된 Office 제거 시나리오에서 유용하게 활용할 수 있습니다.