เริ่มบริการ Windows ใหม่จากบรรทัดคำสั่ง


คำตอบ:


92

คุณสามารถใช้net stop [service name]เพื่อหยุดมันและnet start [service name]จะเริ่มต้นขึ้นอีกครั้งโดยทั่วไปเริ่มต้นใหม่บริการ

จะรวมพวกเขาเพียงแค่ทำเช่นนี้ net stop [service name] && net start [service name]-


นอกจากนี้ยังมีคำสั่งที่สร้างขึ้นโดยเฉพาะสำหรับล้อเล่นกับบริการ: sc

รายละเอียด:
        SC เป็นโปรแกรมบรรทัดคำสั่งที่ใช้สำหรับการสื่อสารกับ
        ผู้จัดการฝ่ายควบคุมและบริการ
การใช้:
        sc [คำสั่ง] [ชื่อบริการ] ...


        ตัวเลือกมีรูปแบบ "\\ ServerName"
        สามารถรับความช่วยเหลือเพิ่มเติมเกี่ยวกับคำสั่งได้โดยพิมพ์: "sc [command]"
        คำสั่ง:
          แบบสอบถาม ----------- ค้นหาสถานะของบริการหรือ
                          ระบุสถานะสำหรับประเภทของบริการ
          queryex --------- ค้นหาสถานะเพิ่มเติมสำหรับบริการหรือ
                          ระบุสถานะสำหรับประเภทของบริการ
          start ----------- เริ่มบริการ
          หยุด ----------- ส่งคำร้องขอควบคุมชั่วคราวไปยังบริการ
          ซักถาม ----- ส่งการร้องขอการควบคุม INTERROGATE ไปยังบริการ
          ดำเนินการต่อ -------- ส่งคำขอควบคุมต่อไปยังบริการ
          หยุด ------------ ส่งคำขอ STOP ไปยังบริการ
          config ---------- เปลี่ยนการกำหนดค่าบริการ (ถาวร)
          คำอธิบาย ----- เปลี่ยนคำอธิบายของบริการ
          ความล้มเหลว --------- เปลี่ยนการกระทำที่ดำเนินการโดยบริการเมื่อล้มเหลว
          failflag ----- เปลี่ยนการตั้งค่าสถานะความล้มเหลวของบริการ
          sidtype --------- เปลี่ยนประเภทบริการ SID ของบริการ
          privs ----------- เปลี่ยนสิทธิ์ที่จำเป็นของบริการ
          managedaccount - เปลี่ยนบริการเพื่อทำเครื่องหมายบัญชีบริการ
                          รหัสผ่านตามที่จัดการโดย LSA
          qc -------------- แบบสอบถามข้อมูลการกำหนดค่าสำหรับบริการ
          qdescription ---- ค้นหาคำอธิบายสำหรับบริการ
          qfailure -------- ค้นหาการกระทำที่ดำเนินการโดยบริการเมื่อล้มเหลว
          qfailureflag ---- แบบสอบถามสถานะการกระทำความล้มเหลวของบริการ
          qsidtype -------- ค้นหาประเภทบริการ SID ของบริการ
          qprivs ---------- ค้นหาสิทธิ์ที่จำเป็นของบริการ
          qtriggerinfo ---- สอบถามพารามิเตอร์ทริกเกอร์ของบริการ
          qpreferrednode - ค้นหาโหนด NUMA ที่ต้องการของบริการ
          qrunlevel ------- ค้นหาระดับการเรียกใช้บริการ
          qmanagedaccount-Queries ไม่ว่าจะเป็นบริการที่ใช้บัญชีที่มี
                          จัดการรหัสผ่านโดย LSA
          qprotection ----- แบบสอบถามระดับการป้องกันกระบวนการของการบริการ
          ลบ ---------- ลบบริการ (จากรีจิสตรี)
          สร้าง ---------- สร้างบริการ (เพิ่มลงในรีจิสทรี)
          --------- ส่งการควบคุมไปยังบริการ
          sdshow ---------- แสดงตัวบอกเกี่ยวกับความปลอดภัยของบริการ
          sdset ----------- ตั้งค่าตัวบอกเกี่ยวกับความปลอดภัยของบริการ
          showsid --------- แสดงสตริง SID ของบริการที่สอดคล้องกับชื่อที่กำหนดเอง
          triggerinfo ----- กำหนดค่าพารามิเตอร์ทริกเกอร์ของบริการ
          prefernode --- ตั้งค่าโหนด NUMA ที่ต้องการของบริการ
          runlevel -------- ตั้งค่าระดับการทำงานของบริการ
          GetDisplayName - รับ DisplayName สำหรับบริการ
          GetKeyName ------ รับ ServiceKeyName สำหรับบริการ
          EnumDepend ------ ระบุการพึ่งพาการบริการ

        คำสั่งต่อไปนี้ไม่ต้องการชื่อบริการ:
        SC   
          boot ------------ (ok | bad) ระบุว่าการบูตครั้งสุดท้ายควร
                          ถูกบันทึกเป็นการกำหนดค่าการบูตที่รู้จักกันดีครั้งสุดท้าย
          ล็อค ------------ ล็อคฐานข้อมูลบริการ
          QueryLock ------- ค้นหา LockStatus สำหรับฐานข้อมูล SCManager
ตัวอย่าง:
        sc เริ่ม MyService

ตัวเลือก QUERYEX และ QUERYEX:
        หากคำสั่งแบบสอบถามตามด้วยชื่อบริการสถานะ
        สำหรับบริการนั้นจะถูกส่งคืน ตัวเลือกเพิ่มเติมไม่ได้ใช้
        กรณีนี้. หากคำสั่งแบบสอบถามตามด้วยอะไรหรืออย่างใดอย่างหนึ่ง
        ตัวเลือกที่ระบุไว้ด้านล่างบริการมีการแจกแจง
    ประเภท = ประเภทของบริการที่จะระบุ (ไดรเวอร์บริการทั้งหมด)
             (ค่าเริ่มต้น = บริการ)
    state = สถานะของบริการที่จะแจกแจง (ไม่ใช้งาน, ทั้งหมด)
             (ค่าเริ่มต้น = ใช้งาน)
    bufsize = ขนาด (เป็นไบต์) ของบัฟเฟอร์การแจงนับ
             (ค่าเริ่มต้น = 4096)
    ri = หมายเลขดัชนีเรซูเม่ที่จะเริ่มการแจงนับ
             (ค่าเริ่มต้น = 0)
    group = กลุ่มบริการที่จะระบุ
             (ค่าเริ่มต้น = ทุกกลุ่ม)

ตัวอย่าง SYNTAX
sc query - ระบุสถานะสำหรับบริการและไดรเวอร์ที่ใช้งาน
sc query eventlog - แสดงสถานะสำหรับบริการ eventlog
sc queryex eventlog - แสดงสถานะเพิ่มเติมสำหรับบริการ eventlog
sc query type = driver - ระบุไดรเวอร์ที่ใช้งานอยู่เท่านั้น
sc query type = service - ระบุบริการ Win32 เท่านั้น
sc query state = all - ระบุบริการและไดรเวอร์ทั้งหมด
sc query bufsize = 50 - ระบุด้วยบัฟเฟอร์ 50 ไบต์
sc query ri = 14 - ระบุด้วย Resume resume = 14
sc queryex group = "" - ระบุบริการที่ใช้งานไม่ได้อยู่ในกลุ่ม
sc query type = interact - ระบุบริการแบบโต้ตอบทั้งหมด
sc query type = กลุ่มไดรเวอร์ = NDIS - ระบุไดรเวอร์ NDIS ทั้งหมด

5
[service name]คำถามต่อไปจะกลายเป็นวิธีการที่จะเงยหน้าขึ้นมองที่เหมาะสม
Iszi

4
ใส่net startและมันจะแสดงบริการที่ทำงานอยู่ทั้งหมด
paradd0x

3
@Iszi ถ้าเขาต้องการเริ่มบริการใหม่มันจะต้องมีการเริ่มต้นใหม่ :)
paradd0x

4
@lszi: เรียกใช้ "sc query" จากบรรทัดคำสั่ง ดู SERVICE_NAME
jftuga

8
'restart! =' หยุด '&&' เริ่ม ' ฉันได้รับบริการที่เริ่มต้นใหม่อย่างรวดเร็วผ่านทางแอปเพล็ต GUI แต่การหยุดเริ่มต้นช้ามากผ่านทั้ง GUI และ CLI ยังคงมองหาวิธี CLI เพื่อเริ่มการทำงานจริง ...
Van Jone

16

โปรดทราบว่าหากมีบริการอื่น ๆ ที่ขึ้นอยู่กับบริการนี้ - ปกติ net stop & net startจะไม่เริ่มต้นใหม่ net stop /yจะหยุดการพึ่งพาทั้งหมด

ตัวอย่างที่พบบ่อยที่สุด - SQL Server & SQL Agent

ฉันแนะนำ PowerShell cmdlet เพื่อแก้ปัญหานี้:

powershell -command "Restart-Service MSSQLSERVER -Force"

หลังจาก MSSQLSERVER เริ่มทำงาน - cmdlet จะเริ่มการพึ่งพาที่หยุดก่อนหน้า

PS: ตรวจสอบให้แน่ใจว่าคุณกำลังใช้คำสั่งในฐานะผู้ดูแล


2
+1 นี่คือคำตอบที่ดีที่สุด การหยุดและเริ่มบริการด้วยการอ้างอิงจะล้มเหลวด้วยคำตอบอื่น ๆ คุณต้องเพิ่มสิ่งนี้เพื่อให้สามารถใช้งานได้ในฐานะผู้ดูแลระบบ
เช่น

10

คุณสามารถใช้ PowerShell:

stop-Service

17
PowerShell ยังมีบริการเริ่มต้นใหม่ (เพียงกล่าวถึงตั้งแต่ OP ถามเกี่ยวกับการเริ่มบริการใหม่โดยเฉพาะ)
ʜιᴇcʜιᴇ007

10

ในการเริ่มบริการ Windows ใหม่จากพรอมต์คำสั่งหรืองานที่กำหนดเวลาใช้สิ่งนี้:

cmd /c "net stop "Service Name" & sc start "Service Name""

4
คุณอาจต้องการแอมป์แซนด์คู่ ที่ทำให้รอคำสั่งแรกให้เสร็จสิ้น (สำเร็จ) ก่อนที่จะดำเนินการกับที่สอง
Adam Plocher

4

เพื่อแก้ไข Wacom Intuous Driver ที่น่ารำคาญไม่ได้ทำงาน Error ฉันได้ทุกครั้งที่รีบูท

Windows key+ R, แปะ, ปัง!

sc stop WTabletServicePro && sc start WTabletServicePro

2

PsServiceยูทิลิตี้จากPsToolsมีrestartคำสั่งสำหรับการบริการที่มีพารามิเตอร์เพิ่มเติมที่จะรันบนเครื่องอื่น

psservice [-accepteula] [\\Computer [-u Username [-p Password]]] restart <service-name>

การ-accepteulaตั้งค่าสถานะช่วยให้คุณบันทึกหน้าต่าง EULA ในกรณีที่เป็นครั้งแรกที่คุณใช้โปรแกรมอรรถประโยชน์นี้กับผู้ใช้ปัจจุบัน


-2

ในกรณีที่คุณรู้เส้นทางที่สามารถใช้งานได้ของบริการที่คุณสามารถใช้ได้

"[service name.exe] console"

บนบรรทัดคำสั่ง

ที่จริงแล้วจะช่วยให้คุณแก้ปัญหาได้หากบริการไม่สามารถเริ่มได้


ยินดีต้อนรับสู่ Super User! โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.