0

我有一些在我的机器上运行的使用 C# 语言编写的 Windows 服务。我还为我的客户创建了一个 WPF 应用程序来启动和停止这些服务。当我在同一台机器上运行它时,它工作正常,但是当我尝试在其他机器上运行它时它不起作用,并且我收到一条异常消息:无法在计算机“NAME-PC”上打开服务控制管理器。此操作可能需要其他权限。

我的 Windows 服务有一个 Project Installer,它有一个 ProcessInstaller,其 Account 属性设置为LocalSystem。我不确定是否有影响。

我如何为其他机器设置正确的权限才能在特定机器上启动此服务?

谢谢你。

4

2 回答 2

0

为了帮助您进行一些故障排除,因为我不认为我可以直接给出您当前信息的答案,首先,尝试将您的机器名称更改为 IP 地址。例如,如果您的 WCF 服务正在接收命令并尝试重新启动该计算机上的另一个服务,请尝试:

string machine = "127.0.0.1";

为什么这会起作用的答案是我不知道。这可能与以本地用户身份运行的服务有关,并且无法访问您的 DNS 来解析主机名。

如果这不起作用(或者即使它起作用),我会尝试使用专用于运行服务的帐户设置您的服务,并且已被授予执行您希望他们执行的操作的权限。一般来说,这是创建可以做任何事情的服务的最佳实践方式,因为我们并非都是安全专家,而且我们的服务可能会受到损害(当作为本地系统运行时,这可能会很糟糕)。

此外,如果您的服务试图在远程计算机(非本地)上启动服务,那么您将需要某种具有这样做权限的网络帐户。

于 2012-11-06T14:47:27.663 回答
0

我认为这是一个安全问题。
您需要授予启动该服务的权限

如何授予用户在 Windows Server 2003 中管理服务的权限

于 2012-11-06T15:00:27.923 回答