如何在远程计算机上启动和停止服务?

3
在我的项目中,有一个要求是停止远程机器上(在同一局域网下)的特定服务(比如“x”),更改注册表键并重新启动该服务。

我尝试使用命令sc \server stop service,但是我收到了错误消息:

[SC] GetServiceKeyName FAILED 1060:

The specified service does not exist as an installed service.

我使用的是Windows 2003 SP1。是否有任何内置的命令或API可供在Windows上使用?

我需要在命令提示符下运行该命令。

4个回答

7
还要记住,"sc"命令行工具期望的“服务名称”参数并不总是等同于您在服务控制面板小程序中看到的名称(即服务“显示名称”)。 例如,在我的服务控制面板小程序中出现为“Adobe Acrobat 更新服务”的服务实际名称为“AdobeARMservice”。在使用“sc”实用程序管理服务时,必须使用后者而不是前者。 示例:
sc Stop "AdobeARMservice" (works)
sc Stop "Adobe Acrobat Update Service" (doesn't work)

要获取服务的“真实”名称,请在服务控制面板小程序中双击其条目,然后查看“常规”选项卡上的“服务名称”字段。

当然,在某些情况下,显示名称和服务名称是相同的。


4
你可能想要查看SysInternalsPSTools。这些工具是免费提供的,可以帮助您管理远程Windows机器上的进程。
PsTools套件中包含的工具可作为软件包下载,其中包括:
- PsExec - 远程执行进程 - PsFile - 显示远程打开的文件 - PsGetSid - 显示计算机或用户的SID - PsInfo - 列出系统信息 - PsKill - 按名称或进程ID终止进程 - PsList - 列出有关进程的详细信息 - PsLoggedOn - 查看本地和通过资源共享登录的用户 - PsLogList - 转储事件日志记录 - PsPasswd - 更改帐户密码 - PsService - 查看和控制服务 - PsShutdown - 关闭并可选地重新启动计算机 - PsSuspend - 暂停进程 - PsUptime - 显示系统自上次重启以来运行的时间

2

From this URL:

To stop a service remotely you can use the command sc.

Example:
> sc \\computer stop "Service Name"
> sc \\computer start "Service Name"

也许您缺少一个“\”字符?

0
使用OpenCSManager,然后打开服务,最后启动服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接