ฉันมีบริการเก่าสองสามอย่างที่ฉันต้องการถอนการติดตั้งอย่างสมบูรณ์ ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันมีบริการเก่าสองสามอย่างที่ฉันต้องการถอนการติดตั้งอย่างสมบูรณ์ ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
ใช้คำสั่งSCเช่นนี้ (คุณจำเป็นต้องอยู่ในพรอมต์คำสั่งเพื่อดำเนินการคำสั่งในโพสต์นี้):
SC STOP shortservicename
SC DELETE shortservicename
หมายเหตุ:คุณต้องเรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบไม่ใช่เพียงลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ แต่ต้องมีสิทธิ์ระดับผู้ดูแลด้วย หากคุณได้รับข้อผิดพลาดด้านบนเกี่ยวกับการไม่มีสิทธิ์การเข้าถึงที่จำเป็นในการหยุดและ / หรือลบบริการให้เรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบ คุณสามารถทำได้โดยค้นหาพรอมต์คำสั่งบนเมนูเริ่มแล้วคลิกขวาแล้วเลือก "Run as administrator" หมายเหตุสำหรับผู้ใช้ PowerShell: ใช้นามแฝงsc
set-content
ดังนั้นsc delete service
จริงจะสร้างไฟล์ชื่อกับเนื้อหาdelete
service
หากต้องการทำสิ่งนี้ใน Powershell ให้ใช้sc.exe delete service
แทน
หากคุณต้องการค้นหาชื่อบริการแบบย่อของบริการใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ข้อความที่มีรายการบริการและสถานะ:
SC QUERY state= all >"C:\Service List.txt"
สำหรับรายการที่กระชับยิ่งขึ้นให้เรียกใช้คำสั่งนี้:
SC QUERY state= all | FIND "_NAME"
ชื่อบริการแบบย่อจะแสดงอยู่เหนือชื่อที่แสดงเช่นนี้:
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
และเพื่อลบบริการดังกล่าว:
SC STOP MyService
SC DELETE MyService
sc query state= all
เพื่อรับรายการบริการเต็มรูปแบบ พื้นฐานsc query
จะไม่ส่งคืนบริการที่ไม่ใช้งาน (aka ปิดใช้งาน)
sc
set-content
ดังนั้นsc delete service
จริงจะสร้างไฟล์ชื่อกับเนื้อหาdelete
service
หากต้องการทำสิ่งนี้ใน Powershell ให้ใช้sc.exe delete service
แทน
คลิกเริ่ม | เรียกใช้และพิมพ์regedit
ในบรรทัด Open: คลิกตกลง
นำทางไปยัง HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
เลื่อนลงบานหน้าต่างด้านซ้ายค้นหาชื่อบริการคลิกขวาและเลือกลบ
รีบูทระบบ
sc delete
กลไกที่ต้องการล้มเหลว ขอบคุณ
ใช้services.mscหรือ (เริ่ม> แผงควบคุม> เครื่องมือการดูแลระบบ> บริการ) เพื่อค้นหาบริการที่เป็นปัญหา ดับเบิลคลิกเพื่อดูชื่อบริการและเส้นทางไปยังไฟล์ที่เรียกทำงานได้
ตรวจสอบข้อมูลรุ่น exe เพื่อหาเบาะแสเกี่ยวกับเจ้าของบริการและใช้โปรแกรม Add / Remove เพื่อทำการถอนการติดตั้งใหม่ทั้งหมดหากเป็นไปได้
ความล้มเหลวนั้นจากพรอมต์คำสั่ง:
sc stop servicexyz
sc delete servicexyz
ไม่จำเป็นต้องรีสตาร์ท
sc delete "Amazon Assistant Service"
SC DELETE "service name"
เรียกใช้คำสั่งบน cmd ในฐานะผู้ดูแลระบบมิฉะนั้นคุณจะได้รับข้อผิดพลาดนี้: -
openservice ล้มเหลวถูกปฏิเสธการเข้าถึง 5 รายการ
เราสามารถทำได้สองวิธี
ลบ Windows Service ผ่าน Registry
มันง่ายมากที่จะลบบริการออกจากรีจิสทรีหากคุณรู้เส้นทางที่ถูกต้อง นี่คือวิธีที่ฉันทำ:
เรียกใช้RegeditหรือRegedt32
ไปที่รายการรีจิสทรี "HKEY_LOCAL_MACHINE / ระบบ / CurrentControlSet / Services"
ค้นหาบริการที่คุณต้องการลบและลบ คุณสามารถดูคีย์เพื่อทราบว่าบริการไฟล์ใดกำลังใช้งานอยู่และลบทิ้งเช่นกัน (หากจำเป็น)
ลบบริการ Windows ผ่านหน้าต่างคำสั่ง
หรือคุณสามารถใช้พรอมต์คำสั่งและลบบริการโดยใช้คำสั่งต่อไปนี้:
sc ลบ
นอกจากนี้คุณยังสามารถสร้างบริการโดยใช้คำสั่งดังต่อไปนี้
sc สร้าง "MorganTechService" binpath = "ไฟล์ C: \ Program Files \ MorganTechSPace \ myservice.exe"
หมายเหตุ: คุณอาจต้องรีบูตระบบเพื่อให้ได้รับการอัพเดตรายการในตัวจัดการบริการ
หากคุณมี Windows Vista หรือใหม่กว่าโปรดเรียกใช้จากพรอมต์คำสั่งในฐานะผู้ดูแลระบบ:
sc delete [your service name as shown in service.msc e.g moneytransfer]
ตัวอย่างเช่น: sc delete moneytransfer
ลบโฟลเดอร์ C:\Program Files\BBRTL\moneytransfer\
ค้นหาคีย์รีจิสตรีการโอนเงินและลบ:
HKEY_CLASSES_ROOT\Installer\Products\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders
ขั้นตอนเหล่านี้ได้รับการทดสอบใน Windows XP, Windows 7, Windows Vista, Windows Server 2003 และ Windows Server 2008
หากเป็น. NET บริการที่สร้างขึ้นคุณสามารถใช้ installutil.exe โดยใช้สวิตช์ / u ในโฟลเดอร์. net framework เช่น C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727
ตามที่อธิบายไว้ข้างต้นฉันดำเนินการ:
sc delete ServiceName
อย่างไรก็ตามสิ่งนี้ไม่ทำงานเมื่อฉันเรียกใช้งานจาก PowerShell
เมื่อใช้ PowerShell คุณต้องระบุเส้นทางแบบเต็มไปsc.exe
เพราะ PowerShell มีนามแฝงเริ่มต้นสำหรับการกำหนดมันsc
Set-Content
เนื่องจากเป็นคำสั่งที่ถูกต้องจึงไม่แสดงข้อความข้อผิดพลาด
เพื่อแก้ไขปัญหานี้ฉันดำเนินการดังต่อไปนี้:
C:\Windows\System32\sc.exe delete ServiceName
นี่คือสคริปต์ vbs ที่ส่งผ่านมาหาฉัน:
Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")
for each service in servicelist
sname = lcase(service.name)
If sname = "NameOfMyService" Then
msgbox(sname)
service.delete ' the internal name of your service
end if
next
sc ลบชื่อ
สำหรับฉันบริการของฉันที่ฉันสร้างขึ้นจะต้องถูกถอนการติดตั้งในแผงควบคุม> โปรแกรมและคุณสมบัติ
ก่อนที่จะลบบริการคุณควรตรวจสอบการอ้างอิง
คุณสามารถตรวจสอบได้:
เปิดservices.msc
และค้นหาชื่อบริการสลับไปที่แท็บ "การพึ่งพา"
ที่มา: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html
คุณสามารถใช้ยูทิลิตี้ตัวแก้ไขรายการบริการเล็ก ๆ ของฉันService Manager
คุณสามารถเลือกบริการใด ๆ > แก้ไข> ลบ วิธีนี้ใช้ได้ทันทีโดยไม่ต้องบูตเครื่องใหม่
ไฟล์ที่ปฏิบัติการได้: [ดาวน์โหลด]
รหัสแหล่งที่มา: [ดาวน์โหลด]
บล็อกโพสต์: [BlogLink]
คลาสตัวแก้ไขบริการ: WinServiceUtils.cs