เพื่อแก้ปัญหาการอัปเกรด MS Office จำนวนมากเป็นเวอร์ชันล่าสุดบนคอมพิวเตอร์ผู้ใช้ทั้งหมด (Office 2016 ควรปรับใช้ผ่าน SCCM และเปิดใช้งานบน Office 2016 KMS server) เราจำเป็นต้องพัฒนาสคริปต์ง่ายๆ เพื่อถอนการติดตั้งเวอร์ชัน Microsoft Office ที่ติดตั้งไว้ก่อนหน้านี้อย่างอัตโนมัติและถูกต้อง สคริปต์นี้ควรใช้ในงานถอนการติดตั้ง / ติดตั้ง Office อัตโนมัติโดยใช้แพ็คเกจ SCCM
ก่อนติดตั้ง Office เวอร์ชันใหม่ แนะนำให้ถอนการติดตั้ง Office เวอร์ชันที่ติดตั้งไว้ก่อนหน้านี้ทุกเวอร์ชัน (การใช้ Office เวอร์ชันต่างๆ พร้อมกันบนคอมพิวเตอร์ได้รับการสนับสนุน แต่ไม่แนะนำเนื่องจากปัญหาที่อาจเกิดขึ้น) ดังนั้น จึงมีความจำเป็นในการพัฒนาสคริปต์ที่จะถอนการติดตั้ง Office เวอร์ชันใดๆ ที่ติดตั้งไว้บน PC อย่างถูกต้อง
สคริปต์ OffScrub VBS
หลังจากพิจารณาวิธีการถอนการติดตั้ง Office เวอร์ชันที่ติดตั้งไว้ก่อนหน้าหลายวิธี เราหยุดที่การใช้สคริปต์ OffScrub จากบริการ Microsoft Premier Support OffScrub สคริปต์เหล่านี้รวมอยู่ในแพ็คเกจ EasyFix อย่างเป็นทางการ (แพ็คเกจถอนการติดตั้ง Office 2007 และ 2010 แบบบังคับ หากไม่สามารถถอนการติดตั้งจาก Control Panel ได้) เพื่อถอนการติดตั้ง Office 2013 และ 2016 ใช้เครื่องมืออื่น คือ O15CTRRemove.diagcab package ซึ่งก็มีสคริปต์ OffScrub อยู่ด้วย (ดูหมายเหตุด้านล่าง)
OffScrub เป็นชุดสคริปต์ VBS สำหรับการถอนการติดตั้งผลิตภัณฑ์ Office แบบอัตโนมัติ สคริปต์เหล่านี้ช่วยให้คุณทำความสะอาดระบบจากองค์ประกอบ Office ที่ติดตั้งไว้ก่อนหน้านี้อย่างสมบูรณ์ ไม่ว่าจะทำงานได้หรือไม่ ก็ตาม นี่คือข้อดีหลักของการใช้ Offscrub เพื่อถอนการติดตั้ง Office:
- ความสามารถในการถอนการติดตั้ง Office เวอร์ชันเก่าแม้จะไม่มีหรือไฟล์ติดตั้งต้นฉบับหรือแคช Office เสียหาย
- คีย์ผู้ใช้ในรีจิสทรีไม่ได้รับผลกระทบ
- การถอนการติดตั้ง Office อย่างสมบูรณ์
- การลบการตั้งค่าเก่าและผลิตภัณฑ์ทั้งหมด (รวมถึง Project, Visio, Visio Viewer)
Remove-PreviousOfficeInstalls.ps1 สคริปต์จากแพ็คเกจ O15CTRRemove.diagcab ช่วยให้ตรวจจับเวอร์ชัน Office ที่ติดตั้งอยู่และเรียก Offscrub*.vbs สำหรับเวอร์ชัน Office ที่สอดคล้องกัน
ขั้นแรก ดาวน์โหลด FixIt จากเว็บไซต์ Microsoft อย่างเป็นทางการสำหรับ Office และ Windows เวอร์ชันที่คุณใช้ในโครงสร้างพื้นฐานของคุณ คุณสามารถดาวน์โหลดแพ็คเกจ O15CTRRemove.diagcab สำหรับ Office และ Windows เวอร์ชันต่างๆ จากหน้านี้ (https://support.microsoft.com/en-us/kb/971179)
หมายเหตุสำคัญ! ก่อนหน้านี้ในหน้านี้มีลิงก์ไปยังทั้งแพ็คเกจ EasyFix และ O15CTRRemove.diagcab ขณะนี้มีเพียงลิงก์ไปยังแพ็คเกจ O15CTRRemove.diagcab แบบยูนิเวอร์ซัล ซึ่งสามารถใช้เพื่อถอนการติดตั้ง Office 2013/2016 บน Window 7 SP1, Windows 8.1 และ Windows 10 นอกจากนี้ ตอนต้นปีนี้ สคริปต์ Offscrub สำหรับ Office เวอร์ชันใหม่อยู่ใน O15CTRRemove.diagcab และตอนนี้เหลือเพียงสคริปต์ PowerShell เท่านั้น สคริปต์ VBS Offscrub เหล่านี้ (และอื่นๆ) สามารถรับได้เฉพาะจากคลังข้อมูลอย่างเป็นทางการของนักพัฒนา Office บน GitHub (OfficeDev)
ในตารางต่อไปนี้ฉันรวบรวมลิงก์ไปยังแพ็คเกจ Microsoft เพื่อถอนการติดตั้ง Office เวอร์ชันต่างๆ ใน OS เวอร์ชันต่างๆ
| Office Version | Windows 7 | Windows 8 | Windows 10 |
| Office 2003 | MicrosoftFixit20054.mini.diagcab | No | |
| Office 2007 | MicrosoftFixit20052.mini.diagcab | No | |
| Office 2010 | MicrosoftFixit20055.mini.diagcab | ||
| Office 2013 | File OffScrub_O15msi.vbs on GitHub | ||
| Office 2016 | File OffScrub_O16msi.vbs on GitHub | ||
| Office 365/ Click-To-Run | File OffScrubc2r.vbs on GitHub | ||

ดาวน์โหลดไฟล์เหล่านี้และบันทึกไว้ที่ 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"
แตกไฟล์เฉพาะไฟล์ VBS จากคลังข้อมูล diagcab ที่ดาวน์โหลด
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"
และคัดลอกไฟล์ VBS สำหรับ Office เวอร์ชันใหม่ที่ดาวน์โหลดจาก GitHub ไปยังไดเรกทอรีเดียวกัน
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]

การรันสคริปต์ OffScrub VBS โดยใช้ SCCM
เพื่อให้สคริปต์ถอนการติดตั้ง Office ทำงานถูกต้องบน Windows x64 หากรันโดยไคลเอ็นต์ Configuration Manager 32-bit คุณควรรัน cscript.exe เวอร์ชันที่สอดคล้องกัน ดังนั้นเพื่อรันเซนาริโอบนระบบ 64-bit คุณต้องรัน cscript.exe จาก C:\Windows\SysWOW64
คุณสามารถบรรลุได้โดยใช้ NativeCScript.cmd script:
@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
"%SystemRoot%\Sysnative\cscript.exe" %*
) else (
"%SystemRoot%\System32\cscript.exe" %*
)
คุณสามารถดาวน์โหลดคลังข้อมูลที่พร้อมใช้งานพร้อมไฟล์ที่จำเป็นทั้งหมดจากเว็บไซต์ของเรา: OfficeRemova-OffScrubl.zip (1.4 MB)
สคริปต์การถอนการติดตั้ง Office
Office 2003 Removal Utility
คำสั่งเพื่อเริ่มสคริปต์ด้วยตนเองเพื่อการถอนการติดตั้งองค์ประกอบ 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 Removal Utility
คำสั่งเพื่อถอนการติดตั้งองค์ประกอบ 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 Removal Utility
คำสั่งเพื่อถอนการติดตั้ง 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 Removal Utility
คำสั่งเพื่อถอนการติดตั้งผลิตภัณฑ์ 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 Removal Utility
คำสั่งเพื่อรันสคริปต์ OffScrub เพื่อถอนการติดตั้งผลิตภัณฑ์ Office 2016 MSI อย่างสมบูรณ์บนคอมพิวเตอร์ปัจจุบัน
Cscript.exe "%OFFICEREMOVE%\2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE
คุณสามารถรันการถอนการติดตั้ง Office 2016 จากแพ็คเกจ SCCM โดยใช้คำสั่งนี้:
"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE"
สคริปต์ถอนการติดตั้ง Office Click to Run หรือ 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 เป็นสคริปต์ PowerShell จากโครงการ Remove-PreviousOfficeInstalls บน Git ที่ตรวจจับเวอร์ชันและสถานะการเปิดใช้งานของ MS Office ที่ติดตั้งอยู่บนคอมพิวเตอร์โดยอัตโนมัติและเรียกสคริปต์ OffScrub ที่สอดคล้องกัน ด้วยการแก้ไขบางอย่าง สามารถใช้ในเซนาริโอการถอนการติดตั้ง Office แบบอัตโนมัติได้