我在我的机器上运行了一些带有C#语言的Windows服务。我还为我的客户创建了一个WPF应用程序启动和停止这些服务。当我在同一台机器上运行它时,它工作正常,但是当我尝试在其他机器上运行它不起作用时,我收到一条消息的异常:无法在compupter上打开服务控制管理器'NAME-PC ”。此操作可能需要其他权限。
我的Windows服务有一个Project Installer,它有一个ProcessInstaller,其Account属性设置为 LocalSystem 。我不确定那是否会产生影响。
如何为其他计算机设置正确的权限才能在特定计算机上启动此服务?
谢谢。
答案 0 :(得分:0)
为了帮助您进行一些故障排除,因为我认为我不能直接根据您当前的信息得出答案,首先,尝试将您的机器名称更改为IP地址。例如,如果您的WCF服务正在接收命令并尝试重新启动该计算机上的其他服务,请尝试:
string machine = "127.0.0.1";
为什么这会起作用的答案,我不知道。这可能与作为本地用户运行的服务有关,并且无权访问您的DNS以解析主机名。
如果这不起作用(或者即使这样做),我会尝试使用专门用于运行服务的域帐户来设置服务,并且已获得执行操作的权限你想要他们。通常,这是创建服务的最佳实践方式,因为我们不是所有安全专家,我们的服务可能会受到损害(在本地系统运行时可能会很糟糕)。
此外,如果您的服务尝试在远程计算机(非本地)上启动服务,则您需要拥有某种具有此权限的网络帐户。
答案 1 :(得分:0)
我认为这是安全的事情 您需要授予启动该服务的权利
How to grant users rights to manage services in Windows Server 2003