การจัดการ System Extensions บน macOS โดยเฉพาะกรณีที่ต้องการตรวจสอบสถานะด้วยคำสั่ง systemextensionsctl list และการถอดถอน (Uninstall) แอปพลิเคชันระดับองค์กรอย่าง Palo Alto Networks GlobalProtect ซึ่งมักจะติดสถานะค้างหรือไม่ยอมลบออกสมบูรณ์ มีขั้นตอนและรายละเอียดดังนี้ครับ
systemextensionsctl list
การใช้คำสั่ง systemextensionsctl list จะช่วยให้คุณเห็นนามสกุลระบบ (System Extensions) ทั้งหมดที่ติดตั้งอยู่ในเครื่อง พร้อมสถานะการทำงานปัจจุบันจากตัวอย่างผลลัพธ์ของคุณ เช่น
systemextensionsctl list
2 extension(s)
--- com.apple.system_extension.network_extension (Go to 'System Settings > General > Login Items & Extensions > Network Extensions' to modify these system extension(s))
enabled active teamID bundleID (version) name [state]
* PXPZ95SK77 com.paloaltonetworks.GlobalProtect.client.extension (6.3.3-915/1) GlobalProtectExtension [activated waiting for user]
* * 6H4HRTU5E3 com.avast.Antivirus.SystemExtension (17.6.686/17.6.686) Avast Security [activated enabled]
com.paloaltonetworks.GlobalProtect.client.extension
อยู่ในสถานะ[activated waiting for user]หมายถึงตัว extension ถูกติดตั้งไว้แล้ว แต่ระบบกำลังรอการอนุมัติหรือติดขัดกระบวนการเปิดใช้งานจากผู้ใช้ในหน้าการตั้งค่าระบบcom.avast.Antivirus.SystemExtension
อยู่ในสถานะ[activated enabled]หมายถึงเปิดใช้งานและทำงานอยู่ปกติ
วิธีการถอด GlobalProtect และ System Extension ออกจาก macOS อย่างหมดจด
หากต้องการลบ GlobalProtect ออกเนื่องจากติดปัญหา Extension ค้างหรือไม่สามารถถอดถอนผ่านแอปกปกติได้ ให้ทำตามขั้นตอนต่อไปนี้ผ่าน Terminal และหน้าตั้งค่าระบบ
- ถอนการติดตั้งผ่านตัวติดตั้งอย่างเป็นทางการ (Uninstaller)
เปิดแอปพลิเคชัน GlobalProtect ขึ้นมา ไปที่เมนูตั้งค่าด้านใน หรือใช้ไฟล์ติดตั้ง (Installer Package) ตัวเดิมเปิดขึ้นมาอีกครั้ง แล้วเลือก Uninstall GlobalProtect เพื่อให้สคริปต์ทางการลบไฟล์เบื้องต้นออกก่อน - ตรวจสอบและลบไฟล์คงค้างใน System Extensions
เนื่องจากระบบความปลอดภัยของ macOS (SIP) ป้องกันการลบไฟล์ระบบโดยตรง ให้เข้าไปจัดการสิทธิ์การอนุมัติผ่านหน้า GUI ก่อน- ไปที่ Apple Menu > System Settings > General > Login Items & Extensions
- มองหาหัวข้อ Network Extensions หรือ Extensions แล้วทำการปิดหรือกดลบ (1) รายการของ Palo Alto Networks ออก
- เคลียร์ System Extension ที่ค้างด้วยคำสั่งบังคับ (ถ้าจำเป็น)
ในกรณีที่สถานะยังค้างอยู่และไม่ยอมหายไป คุณสามารถรีเซ็ตฐานข้อมูล System Extension ได้โดยการรีสตาร์ทเครื่องเข้าสู่ Recovery Mode (สำหรับ Mac Apple Silicon ให้กดปุ่ม Power ค้างไว้จนขึ้น Loading startup options เลือก Options แล้วเข้า Terminal ใน Recovery) จากนั้นรันคำสั่ง
(หมายเหตุ: Team ID ของ GlobalProtect ในตัวอย่างคือPXPZ95SK77)systemextensionsctl uninstall PXPZ95SK77 com.paloaltonetworks.GlobalProtect.client.extension
- ตรวจสอบไฟล์ที่เหลืออยู่ (Cleanup)
หลังจากรีสตาร์ทเครื่องปกติ ให้ตรวจสอบและลบไฟล์ Daemon หรือโฟลเดอร์ตกค้างที่อาจหลงเหลืออยู่ในไดเรกทอรีระบบsudo rm -rf /Library/LaunchAgents/com.paloaltonetworks* sudo rm -rf /Library/LaunchDaemons/com.paloaltonetworks* sudo rm -rf /Library/Application\ Support/PaloAltoNetworks/
การทำตามขั้นตอนเหล่านี้จะช่วยเคลียร์สถานะ waiting for user ที่ค้างคาออกไป และทำให้ระบบ macOS ของคุณกลับมาคลีน ไม่มี System Extension ที่ไม่จำเป็นทำงานอยู่เบื้องหลังครับ