วิธีลบบริการ Windows ผ่าน CMD หรือ PowerShell

/th/images/how-to-delete-unused-windows-service.png

หลังจากถอนการติดตั้งโปรแกรมหรือเครื่องมือบางอย่างแล้ว บริการที่ไม่ได้ใช้อาจยังคงอยู่ใน Windows บทความนี้จะอธิบายวิธีการลบบริการใน Windows อย่างถูกต้องโดยใช้เครื่องมือ CMD หรือ PowerShell ในตัว

สแน็ปอินการจัดการกราฟิกของบริการ ( services.msc ) ใน Windows จะมีเฉพาะปุ่มการดำเนินการพื้นฐานสำหรับการเริ่ม หยุดชั่วคราว หรือหยุดบริการเท่านั้น คอนโซลนี้ไม่สามารถใช้เพื่อลบบริการได้

ตัวอย่างเช่น ภารกิจคือการลบบริการ Wrapper Stunnel TLS ที่ไม่ได้ใช้ (ในกรณีของฉัน บริการนี้ใช้เพื่อเข้ารหัสการรับส่งข้อมูลของแอปด้วย Stunnel) ขั้นแรก รับชื่อบริการ ในกรณีนี้คือทำให้มึนงง (คัดลอกชื่อจากช่องชื่อบริการ)

/th/images/how-to-delete-unused-windows-service.png

เข้าใจอย่างถ่องแท้ถึงผลกระทบที่อาจเกิดขึ้นจากการกระทำของคุณ เพื่อหลีกเลี่ยงการรบกวนสภาพแวดล้อมของคุณ ขอแนะนำให้ปิดการใช้งานบริการและสังเกตการทำงานของบริการสักพักก่อนที่จะลบออก คุณสามารถปิดใช้งานการเริ่มต้นอัตโนมัติของบริการได้โดยใช้คำสั่ง PowerShell ต่อไปนี้:

ฉันขอแนะนำให้คุณใช้ความระมัดระวังในการลบบริการและ เพื่อหลีกเลี่ยงการรบกวนสภาพแวดล้อมของคุณ ขอแนะนำให้ปิดการใช้งานบริการและสังเกตการทำงานของบริการสักพักก่อนที่จะลบออก คุณสามารถปิดใช้งานการเริ่มต้นอัตโนมัติของบริการได้โดยใช้คำสั่ง PowerShell ต่อไปนี้:

Set-Service stunnel – ประเภทการเริ่มต้นถูกปิดใช้งาน – passthru

ภาวะหยุดให้บริการหยุดชะงัก

/th/images/disable-and-stop-service-using-powershell.png

นอกจากนี้ ก่อนที่จะลบบริการ ให้ตรวจสอบพารามิเตอร์ DependentServices เพื่อดูว่าบริการอื่นใดที่ขึ้นอยู่กับบริการนั้น

รับบริการ stunnel-DependentServices

คุณต้องหยุดบริการก่อนจึงจะสามารถลบออกได้ คลิกปุ่มหยุดในคอนโซลบริการหรือรันคำสั่ง:

เน็ตสต็อปตะลึง

/th/images/net-stop-service-cmd.png

การตั้งค่าบริการจะถูกจัดเก็บไว้ในรีจิสทรีภายใต้คีย์ HKLM\SYSTEM\CurrentControlSet\Services

ก่อนที่จะลบบริการ ให้สำรองข้อมูลการตั้งค่าโดยส่งออกการกำหนดค่าบริการไปยังไฟล์ REG ด้วยคำสั่งต่อไปนี้:

ส่งออก reg "HKLM\SYSTEM\CurrentControlSet\Services\stunnel""%HOMEPATH%\Documents\stunnel\_backup.reg"/y

/th/images/service-registry-key.png

ตอนนี้คุณสามารถลบบริการตามชื่อได้โดยใช้คำสั่ง sc.exe ในตัว (หากชื่อบริการมีช่องว่าง ให้ใส่เครื่องหมายคำพูด):

sc ลบสตันเนล

ข้อความควรปรากฏขึ้น:


SC DeleteService SUCCESS

/th/images/sc-delete-sc-deleteservice-success.png

เครื่องมือ sc.exe ช่วยให้คุณจัดการบริการบนคอมพิวเตอร์ระยะไกล หากต้องการหยุดและลบบริการบนคอมพิวเตอร์ M-FS01 ให้รัน

sc.ee \\m-fs01 หยุด ServiceName1

sc.exe \\m-fs01 ลบ ServiceName1

หรือคุณสามารถลบบริการโดยใช้ PowerShell:

สตันเนลการลบบริการ

/th/images/remove-service-powershelle.png

Remove-Service cmdlet มีอยู่ใน PowerShell Core เวอร์ชัน 6.x และใหม่กว่า

ใน Windows PowerShell 5.1 ซึ่งไม่มีคำสั่ง Remove-Service คุณสามารถใช้ WMI เพื่อลบบริการได้:

$service=Get-WmiObject-Class Win32\_Service-Filter "ชื่อ='stunnel'"$service.delete()

นอกจากนี้ หากต้องการลบบริการ คุณสามารถลบคีย์รีจิสทรีของบริการได้ภายใต้ HKLM\SYSTEM\CurrentControlSet\Services เพื่อให้แน่ใจว่าคุณกำหนดเป้าหมายบริการที่ถูกต้องสำหรับการลบออก ให้ค้นหาบริการในรายการและตรวจสอบว่าพารามิเตอร์ DisplayName และ ImagePath มีชื่อของบริการและเส้นทางที่สมบูรณ์ไปยังไฟล์ปฏิบัติการ ลบรหัสบริการทั้งหมด

/th/images/delete-service-key-from-the-registry.png

F5 เพื่อรีเฟรชรายการคอนโซลบริการและตรวจสอบว่าบริการถูกลบออกและไม่ปรากฏอีกต่อไป โดยปกติจะแนะนำให้ใช้กับค่ารีจิสทรี ImagePath

กดเพื่อรีเฟรชรายการคอนโซลบริการและตรวจสอบว่าบริการถูกลบออกและไม่ปรากฏอีกต่อไป โดยปกติจะแนะนำให้รีสตาร์ท Windows หลังจากลบบริการแล้ว หลังจากรีบูต คุณสามารถลบไฟล์ปฏิบัติการและไดเร็กทอรีที่อ้างอิงตามค่ารีจิสตรีได้

เมื่อลบบริการบางอย่างผ่าน CMD อาจปรากฏข้อความแจ้งว่าบริการถูกทำเครื่องหมายเพื่อลบ ซึ่งระบุว่ามีกำหนดการลบออก แต่อาจจำเป็นต้องปิดหมายเลขอ้างอิงที่เกี่ยวข้องหรือรีสตาร์ทระบบเพื่อให้กระบวนการเสร็จสมบูรณ์


DeleteService FAILED 1072:The specified service has been marked for deletion.

บริการนี้จะถูกลบออกโดยอัตโนมัติหลังจากที่คอมพิวเตอร์รีสตาร์ท

หากต้องการลบบริการโดยไม่ต้องรีสตาร์ท Windows ให้ใช้คำสั่ง Taskill หรือยุติกระบวนการปฏิบัติการที่รันอยู่ของบริการจาก Task Manager จากนั้นลบคีย์รีจิสทรีบริการโดยใช้คำสั่ง PowerShell ต่อไปนี้:

รับรายการ HKLM:\SYSTEM\CurrentControlSet\Services\stunnel | ลบรายการบังคับ Verbose

*️⃣ ลิงค์ที่มา:

ถอนการติดตั้งบางโปรแกรม, เข้ารหัสการรับส่งข้อมูลแอปด้วย Stunnel, , PowerShell Core เวอร์ชัน 6.x และใหม่กว่า, , รีสตาร์ท Windows หลังจากลบบริการ, รีจิสตรีคีย์โดยใช้ PowerShell ต่อไปนี้,