74

Есть ли способ перезапустить службу Windows из командной строки?

7 ответов7

85

Вы можете использовать net stop [service name] чтобы остановить его, и net start [service name] чтобы запустить его снова, в основном перезапуская службу.

Чтобы объединить их, просто сделайте это - net stop [service name] && net start [service name] .


Также есть команда, созданная специально для работы с сервисами: sc

DESCRIPTION:
        SC is a command line program used for communicating with the
        Service Control Manager and services.
USAGE:
        sc  [command] [service name]  ...


        The option  has the form "\\ServerName"
        Further help on commands can be obtained by typing: "sc [command]"
        Commands:
          query-----------Queries the status for a service, or
                          enumerates the status for types of services.
          queryex---------Queries the extended status for a service, or
                          enumerates the status for types of services.
          start-----------Starts a service.
          pause-----------Sends a PAUSE control request to a service.
          interrogate-----Sends an INTERROGATE control request to a service.
          continue--------Sends a CONTINUE control request to a service.
          stop------------Sends a STOP request to a service.
          config----------Changes the configuration of a service (persistent).
          description-----Changes the description of a service.
          failure---------Changes the actions taken by a service upon failure.
          failureflag-----Changes the failure actions flag of a service.
          sidtype---------Changes the service SID type of a service.
          privs-----------Changes the required privileges of a service.
          managedaccount--Changes the service to mark the service account
                          password as managed by LSA.
          qc--------------Queries the configuration information for a service.
          qdescription----Queries the description for a service.
          qfailure--------Queries the actions taken by a service upon failure.
          qfailureflag----Queries the failure actions flag of a service.
          qsidtype--------Queries the service SID type of a service.
          qprivs----------Queries the required privileges of a service.
          qtriggerinfo----Queries the trigger parameters of a service.
          qpreferrednode--Queries the preferred NUMA node of a service.
          qrunlevel-------Queries the run level of a service.
          qmanagedaccount-Queries whether a services uses an account with a
                          password managed by LSA.
          qprotection-----Queries the process protection level of a service.
          delete----------Deletes a service (from the registry).
          create----------Creates a service. (adds it to the registry).
          control---------Sends a control to a service.
          sdshow----------Displays a service's security descriptor.
          sdset-----------Sets a service's security descriptor.
          showsid---------Displays the service SID string corresponding to an arbitrary name.
          triggerinfo-----Configures the trigger parameters of a service.
          preferrednode---Sets the preferred NUMA node of a service.
          runlevel--------Sets the run level of a service.
          GetDisplayName--Gets the DisplayName for a service.
          GetKeyName------Gets the ServiceKeyName for a service.
          EnumDepend------Enumerates Service Dependencies.

        The following commands don't require a service name:
        sc   
          boot------------(ok | bad) Indicates whether the last boot should
                          be saved as the last-known-good boot configuration
          Lock------------Locks the Service Database
          QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
        sc start MyService

QUERY and QUERYEX OPTIONS:
        If the query command is followed by a service name, the status
        for that service is returned.  Further options do not apply in
        this case.  If the query command is followed by nothing or one of
        the options listed below, the services are enumerated.
    type=    Type of services to enumerate (driver, service, all)
             (default = service)
    state=   State of services to enumerate (inactive, all)
             (default = active)
    bufsize= The size (in bytes) of the enumeration buffer
             (default = 4096)
    ri=      The resume index number at which to begin the enumeration
             (default = 0)
    group=   Service group to enumerate
             (default = all groups)

SYNTAX EXAMPLES
sc query                - Enumerates status for active services & drivers
sc query eventlog       - Displays status for the eventlog service
sc queryex eventlog     - Displays extended status for the eventlog service
sc query type= driver   - Enumerates only active drivers
sc query type= service  - Enumerates only Win32 services
sc query state= all     - Enumerates all services & drivers
sc query bufsize= 50    - Enumerates with a 50 byte buffer
sc query ri= 14         - Enumerates with resume index = 14
sc queryex group= ""    - Enumerates active services not in a group
sc query type= interact - Enumerates all interactive services
sc query type= driver group= NDIS     - Enumerates all NDIS drivers
10

Обратите внимание, что если есть другие службы, которые зависят от этой услуги - обычные net stop & net start не перезапускают их. net stop /y остановит все зависимости

Самый распространенный пример - SQL Server & SQL Agent.

Я рекомендую PowerShell командлет для решения этой проблемы:

powershell -command "Restart-Service MSSQLSERVER -Force"

После запуска MSSQLSERVER - командлет запускает все ранее остановленные зависимости.

PS: убедитесь, что вы запускаете команду от имени администратора

10

Вы также можете использовать PowerShell:

stop-Service
10

Чтобы перезапустить службу Windows из командной строки или запланированных задач, используйте это:

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

Чтобы устранить надоедливую ошибку Wacom Intuous Driver не запускается, я получаю при каждой перезагрузке.

Клавиша Windows + R, вставь, Бэм!

sc stop WTabletServicePro && sc start WTabletServicePro
0

Утилита PsService от PsTools предоставляет команду restart для служб с дополнительными параметрами для запуска ее на другом компьютере.

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

Флаг -accepteula сохраняет окно EULA на случай, если вы впервые используете эту утилиту с текущим пользователем.

-2

Если вы знаете путь к исполняемому файлу службы, вы можете использовать

"[service name.exe] console"

В командной строке.

Это на самом деле поможет вам отладить проблему, если служба не сможет запуститься.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .