Mulai ulang layanan Windows dari baris perintah

Jawaban:

92

Anda dapat menggunakan net stop [service name]untuk menghentikannya dan net start [service name]untuk memulai lagi pada dasarnya memulai kembali layanan.

Untuk menggabungkan mereka cukup lakukan ini - net stop [service name] && net start [service name].


Ada juga perintah yang dibuat khusus untuk mengacaukan layanan: sc

DESKRIPSI:
        SC adalah program baris perintah yang digunakan untuk berkomunikasi dengan
        Manajer Kontrol Layanan dan layanan.
PEMAKAIAN:
        sc [perintah] [nama layanan] ...


        Opsi memiliki bentuk "\\ ServerName"
        Bantuan lebih lanjut tentang perintah dapat diperoleh dengan mengetik: "sc [command]"
        Perintah:
          permintaan ----------- Menanyakan status layanan, atau
                          menyebutkan status untuk jenis layanan.
          queryex --------- Permintaan status diperluas untuk layanan, atau
                          menyebutkan status untuk jenis layanan.
          mulai ----------- Memulai layanan.
          jeda ----------- Mengirim permintaan kontrol PAUSE ke layanan.
          interogate ----- Mengirim permintaan kontrol INTERROGATE ke layanan.
          lanjutkan -------- Mengirim permintaan kontrol LANJUTKAN ke layanan.
          berhenti ------------ Mengirim permintaan STOP ke layanan.
          config ---------- Mengubah konfigurasi layanan (persisten).
          description ----- Mengubah deskripsi layanan.
          kegagalan --------- Mengubah tindakan yang diambil oleh layanan setelah kegagalan.
          failureflag ----- Mengubah flag aksi kegagalan suatu layanan.
          sidtype --------- Mengubah jenis layanan SID layanan.
          privs ----------- Mengubah hak layanan yang diperlukan.
          managedaccount - Mengubah layanan untuk menandai akun layanan
                          kata sandi yang dikelola oleh LSA.
          qc -------------- Menanyakan informasi konfigurasi untuk layanan.
          qdescription ---- Menanyakan deskripsi untuk layanan.
          qfailure -------- Menanyakan tindakan yang dilakukan oleh layanan setelah kegagalan.
          qfailureflag ---- Meminta tanda tindakan kegagalan layanan.
          qsidtype -------- Permintaan layanan SID jenis layanan.
          qprivs ---------- Menanyakan hak istimewa yang diperlukan dari suatu layanan.
          qtriggerinfo ---- Permintaan parameter pemicu suatu layanan.
          qpreferrednode - Menanyakan simpul NUMA yang disukai dari suatu layanan.
          qrunlevel ------- Menanyakan level run dari suatu layanan.
          qmanagedaccount-Queries apakah suatu layanan menggunakan akun dengan
                          kata sandi yang dikelola oleh LSA.
          qprotection ----- Menanyakan tingkat perlindungan proses suatu layanan.
          hapus ---------- Menghapus layanan (dari registri).
          buat ---------- Membuat layanan. (menambahkannya ke registri).
          control --------- Mengirim kontrol ke layanan.
          sdshow ---------- Menampilkan deskriptor keamanan layanan.
          sdset ----------- Menetapkan deskriptor keamanan layanan.
          showsid --------- Menampilkan string SID layanan yang sesuai dengan nama arbitrer.
          triggerinfo ----- Mengkonfigurasi parameter pemicu suatu layanan.
          prefernode --- Menetapkan simpul NUMA yang diinginkan dari suatu layanan.
          runlevel -------- Mengatur level run dari suatu layanan.
          GetDisplayName - Mendapat DisplayName untuk layanan.
          GetKeyName ------ Mendapat ServiceKeyName untuk layanan.
          EnumDepend ------ Menghitung Ketergantungan Layanan.

        Perintah berikut tidak memerlukan nama layanan:
        sc   
          boot ------------ (ok | buruk) Menunjukkan apakah booting terakhir harus
                          disimpan sebagai konfigurasi boot yang terakhir diketahui baik
          Kunci ------------ Mengunci Database Layanan
          QueryLock ------- Menanyakan LockStatus untuk Database SCManager
CONTOH:
        sc mulai MyService

OPSI QUERYEX dan QUERYEX:
        Jika perintah kueri diikuti oleh nama layanan, status
        untuk itu layanan dikembalikan. Opsi lebih lanjut tidak berlaku di
        kasus ini. Jika perintah kueri diikuti oleh tidak ada atau salah satu dari
        opsi yang tercantum di bawah ini, layanan disebutkan.
    type = Jenis layanan untuk disebutkan (driver, layanan, semua)
             (standar = layanan)
    state = Keadaan layanan untuk dicacah (tidak aktif, semua)
             (default = aktif)
    bufsize = Ukuran (dalam byte) buffer enumerasi
             (standar = 4096)
    ri = Nomor indeks resume untuk memulai enumerasi
             (standar = 0)
    group = Grup layanan untuk dicacah
             (default = semua grup)

CONTOH SYNTAX
sc query - Merinci status untuk layanan & driver aktif
sc query eventlog - Menampilkan status untuk layanan eventlog
sc queryex eventlog - Menampilkan status tambahan untuk layanan eventlog
sc query type = driver - Hanya menyebutkan driver aktif
sc query type = service - Hanya menyebutkan layanan Win32
sc query state = all - Merinci semua layanan & driver
sc query bufsize = 50 - Menghitung dengan buffer 50 byte
sc query ri = 14 - Menghitung dengan resume indeks = 14
sc queryex group = "" - Menghitung layanan aktif yang tidak ada dalam grup
sc query type = berinteraksi - Merinci semua layanan interaktif
sc query type = driver group = NDIS - Merinci semua driver NDIS
paradd0x
sumber
5
Pertanyaan selanjutnya menjadi bagaimana mencari yang tepat [service name].
Iszi
4
Masukkan net startdan daftar semua layanan yang berjalan.
paradd0x
3
@ Iszi Yah, jika dia ingin me - restart layanan, itu harus berjalan untuk memulai kembali. :)
paradd0x
4
@lszi: jalankan "sc query" dari baris perintah. Lihatlah SERVICE_NAME
jftuga
8
'restart! =' stop '&&' start '. Saya mendapatkan layanan yang dimulai kembali dengan cepat melalui applet GUI tetapi berhenti sangat lambat melalui GUI dan CLI. Masih mencari cara CLI untuk melakukan restart nyata ...
Van Jone
16

Harap perhatikan bahwa jika ada layanan lain yang bergantung pada layanan ini - biasanya net stop & net starttidak akan memulai kembali. net stop /yakan menghentikan semua dependensi

Contoh paling umum - SQL Server & SQL Agent.

Saya merekomendasikan cmdlet PowerShell untuk menyelesaikan ini:

powershell -command "Restart-Service MSSQLSERVER -Force"

Setelah MSSQLSERVER dimulai - cmdlet memulai semua ketergantungan yang dihentikan sebelumnya.

PS: Pastikan Anda menjalankan perintah sebagai admin

Dmitry Gusarov
sumber
2
+1. Ini jawaban terbaik. Menghentikan dan memulai layanan dengan dependensi akan gagal dengan jawaban lain. Anda perlu menambahkan bahwa agar ini berfungsi, Anda harus menjalankan sebagai admin.
egur
10

Anda juga bisa menggunakan PowerShell:

stop-Service
devlife
sumber
18
PowerShell juga menawarkan Restart-Service (hanya menyebutkannya sejak OP bertanya tentang memulai kembali layanan secara khusus)
Ƭᴇcʜιᴇ007
10

Untuk memulai kembali layanan Windows dari prompt perintah atau tugas yang dijadwalkan, gunakan ini:

cmd /c "net stop "Service Name" & sc start "Service Name""
Kiki
sumber
4
Anda mungkin ingin ampersand ganda. Itu membuatnya menunggu perintah pertama untuk menyelesaikan (berhasil) sebelum melanjutkan dengan yang kedua.
Adam Plocher
4

Untuk mengatasi Wacom Intuous Driver yang mengganggu tidak menjalankan Kesalahan saya dapatkan di setiap reboot.

Windows key+ R, tempel, Bam!

sc stop WTabletServicePro && sc start WTabletServicePro
George
sumber
2

The PsService utilitas dari PsTools menyediakan restartperintah untuk layanan, dengan parameter tambahan untuk menjalankannya pada komputer lain.

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

The -accepteulabendera menghemat jendela EULA hanya dalam kasus itu pertama kali Anda menggunakan utilitas ini dengan pengguna saat ini.

cdlvcdlv
sumber
-2

Jika Anda tahu jalur lokasi layanan yang dapat dieksekusi yang dapat Anda gunakan

"[service name.exe] console"

Di baris perintah.

Itu benar-benar akan membantu Anda men-debug masalah jika layanan gagal memulai.

sup4eli
sumber
Selamat Datang di Pengguna Super! Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal.
DavidPostill