使用 net start/stop 时如何解决此错误:“服务名称无效”?

使用 net start/stop 时如何解决此错误:“服务名称无效”?

我们有一台托管服务的服务器(我称之为“番茄”)。

到目前为止,客户端 PC 已经能够启动和停止此服务。他们只需双击批处理文件,该批处理文件中就有命令

net stop tomato

或者

net start tomato

他们最近购买了一台新的物理计算机,现在相同的命令失败并出现错误:

C:\>net stop tomato
The service name is invalid.

More help is available by typing NET HELPMSG 2185.

我需要做什么才能让客户端电脑远程启动和停止此服务?

编辑:我记错了原来的命令。他们没有远程使用“net start”和“net stop”。他们使用的是

sc \\server_name start tomato

sc \\server_name stop tomato

这些命令确实仍然有效。

答案1

“net start/stop”命令只能在同一台计算机上本地启动或停止服务。您不能使用它来启动或停止在另一台计算机上运行的服务。

例如,你可以使用服务端, 的一部分工具来自 Sysinternals。使用正确的参数,您可以控制远程计算机上的服务,前提是您拥有正确的凭据。

使用 PsService

PsService 的默认行为是显示本地系统上配置的服务(包括正在运行和已停止的服务)。在命令行中输入命令会调用特定功能,并且某些命令会接受选项。输入命令后跟“-”会显示有关该命令语法的信息。

用法:psservice [\computer [-u 用户名] [-p 密码]] 命令选项

答案2

我被迫在各种服务器上启动多项服务,而 PowerShell 却给了我

WSMan 服务...

错误。由于急于完成任务,我决定将 PsService 与 PowerShell 结合起来。我创建了单独的文件,每个文件包含需要启动相同特定服务的服务器,然后使用 PS 中的以下示例代码运行它们:

$service = "<short service name even with spaces here>"
$servers = Get-Content .\servers.txt
$servers | % {
 Write-Host -NoNewline "Processing server/service: "; Write-Host -NoNewline -ForegroundColor Green $_; Write-Host -NoNewline -ForegroundColor White "/"; Write-Host -ForegroundColor Green $service
 psservice \\$_ start $service
}

我希望这有帮助。

相关内容