在远程Windows系统上重新启动服务的最简单的编程方法是什么?语言或方法无关紧要,只要它不需要人为干预即可.
从Windows XP开始,您可以使用sc.exe
与本地和远程服务进行交互.安排任务以运行类似于此的批处理文件:
sc \\server stop service sc \\server start service
确保任务在目标服务器上具有特权的用户帐户下运行.
psservice.exe
从Sysinternals PSTools也将做的工作:
psservice \\server restart service
描述:SC是一个命令行程序,用于与NT服务控制器和服务进行通信.用法:sc [命令] [服务名称] ...
The optionhas 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
示例:sc启动MyService
如果它不需要人工交互,这意味着将没有UI调用此操作,我认为它会在某个设置的时间间隔重新启动?如果您有权访问计算机,则可以使用旧的NET STOP和NET START设置计划任务以执行批处理文件
net stop "DNS Client" net start "DNS client"
或者如果你想要更复杂,你可以尝试Powershell