如何使用脚本远程重启 Windows 服务?

Jas*_*ker 7 windows-server-2003 windows-service python pstools

我有一个在 CherryPy 服务器中运行的 Python Web 应用程序,它作为 Windows 服务运行。我有一个批处理文件来部署这个应用程序,但我仍然需要远程桌面到服务器才能重新启动服务。有没有办法编写这个脚本?

我试过:

psexec \\server "net restart cherrypyservice"
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。

Ken*_*eng 9

您可以使用 sc 命令行工具,但我不知道如何专门在 python 中执行此操作。

/sf/ask/9371841/#133926

描述:SC 是一个命令行程序,用于与 NT 服务控制器和服务进行通信。用法:sc [命令] [服务名称] ...

  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 (persistant).
    description-----Changes the description of a service.
    failure---------Changes the actions taken by a service upon failure.
    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.
    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.
    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
Run Code Online (Sandbox Code Playgroud)

示例:sc 启动 MyService


小智 7

使用 Russinovich 的psservice

 psservice \\server restart cherrypyservice
Run Code Online (Sandbox Code Playgroud)


Ric*_*ter 2

尝试

psexec \\server net stop cherrypyservice
psexec \\server net start cherrypyservice
Run Code Online (Sandbox Code Playgroud)