我在项目中有一个要求,即我们必须在远程计算机(位于同一LAN上)中停止特定服务"x",远程更改注册表项并再次启动服务.
我试过这个命令sc \server stop service
,但是我得到了错误:
[SC] GetServiceKeyName FAILED 1060:
指定的服务不作为已安装的服务存在.
我使用的是Windows 2003 SP1.Windows上是否有可用的内置命令或API?
我需要在命令提示符下运行命令.
还要记住,"sc"命令行工具所期望的"服务名称"参数并不总是等同于您在服务控制面板小程序中看到的名称(即服务"显示名称").
例如,我的服务控制面板小程序中显示为"Adobe Acrobat Update Service"的服务的实际名称为"AdobeARMservice".在通过"sc"实用程序管理服务时,您必须使用后者,而不是前者.
例:
sc Stop "AdobeARMservice" (works) sc Stop "Adobe Acrobat Update Service" (doesn't work)
要获取服务的"真实"名称,请在服务控制面板小程序中双击其条目,然后在"常规"选项卡上查看"服务名称"字段.
当然,在某些情况下,显示名称和服务名称是相同的.