我在项目中有一个要求,即我们必须在远程计算机(位于同一LAN上)中停止特定服务“x”,远程更改注册表项并再次启动服务。
我尝试了sc \server stop service
命令,但收到错误:
[SC] GetServiceKeyName FAILED 1060:
指定的服务不作为已安装的服务存在。
我正在使用Windows 2003 SP1。 Windows上是否有可用的内置命令或API?
我需要在命令提示符下运行命令。
答案 0 :(得分:7)
另请注意,“sc”命令行工具所需的“服务名称”参数并不总是等同于您在服务控制面板小程序中看到的名称(即服务“显示名称”)。
例如,我的服务控制面板小程序中显示为“Adobe Acrobat Update Service”的服务具有“AdobeARMservice”的实际名称。在通过“sc”实用程序管理服务时,您必须使用后者,而不是前者。
示例:
sc Stop "AdobeARMservice" (works)
sc Stop "Adobe Acrobat Update Service" (doesn't work)
要获取服务的“真实”名称,请在服务控制面板小程序中双击其条目,然后在“常规”选项卡上查看“服务名称”字段。
当然在某些情况下,显示名称和服务名称是相同的。
答案 1 :(得分:4)
您可能希望从PSTools查看SysInternals。这些工具是免费提供的,可以帮助您管理远程Windows机器上的进程。
PsTools套件中包含的工具可以作为包下载:
PsExec - execute processes remotely PsFile - shows files opened remotely PsGetSid - display the SID of a computer or a user PsInfo - list information about a system PsKill - kill processes by name or process ID PsList - list detailed information about processes PsLoggedOn - see who's logged on locally and via resource sharing PsLogList - dump event log records PsPasswd - changes account passwords PsService - view and control services PsShutdown - shuts down and optionally reboots a computer PsSuspend - suspends processes PsUptime - shows you how long a system has been running since its last reboot
答案 2 :(得分:2)
来自此URL:
To stop a service remotely you can use the command sc.
Example:
> sc \\computer stop "Service Name"
> sc \\computer start "Service Name"
也许你错过了一个“\”字符?
答案 3 :(得分:0)
使用OpenCSManager,然后使用OpenService,然后使用StartService。