尽管 运行 命令提示符为管理员,但无法打开服务控制管理器
Can't open the service control manager despite running command prompt as administrator
我在 C# 中创建了一个服务,它生成了一个可执行文件 "GodzillaService.exe"。服务本身只是一个完全根据此 link 生成的基本模板,除了名称:https://www.c-sharpcorner.com/article/create-windows-services-in-c-sharp/
当我尝试 运行 InstallUtil 时出现问题。根据上面的文章,我执行
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
在提升的命令提示符下,运行 作为管理员。然后我输入
InstallUtil.exe C:\Path\To\My\EXE\Godzilla.exe
我遇到了这个错误:
An exception occurred during the Install phase.
System.InvalidOperationException: Cannot open Service Control Manager
on computer '.'. This operation might require other privileges. The
inner exception System.ComponentModel.Win32Exception was thrown with
the following error message: Access is denied.
查看错误消息,经验告诉我,我需要授予对某物或某人的访问权限,但是什么?我已经 运行 以管理员身份使用该程序。到目前为止我已经尝试过这些东西:
- 运行 管理员身份的命令提示符。
- 运行 VS 2017 开发人员命令提示符作为管理员。
- 注销我的用户帐户,登录到我的管理员帐户,然后尝试 运行 启用它。
- 将 GodzillaService.exe 文件移动到 Program Files 目录,以防 applocker 干扰它。
- 运行 VS 2017 as admin,重建exe文件,然后试试
- 尝试使用 exe 文件和 InstallUtil 的完整路径。
- 确保我的管理员帐户在本地管理员组中。
- 尝试查看事件查看器以获取更多信息(未找到与此问题相关的任何日志,也许我找错地方了?)
- 尝试将服务程序中的帐户从 LocalSystem 更改为 User、LocalService 和 NetworkService
我没有想法...有人对我可以做些什么来进一步解决这个问题有什么建议吗?我很感激任何建议!
我花了一段时间,但我终于弄明白了!问题是,尽管我说我是 运行 以管理员身份使用它,但我是 运行 以具有管理员权限的用户身份使用它。完全不同。
在我的环境(域环境)中,出于某种原因,我们为 运行ning 程序阻止了 "Run as Administrator" 选项。因此,要运行作为管理员的东西,我们实际上必须运行它作为不同的用户,然后select我们的管理员帐户。这适用于 99% 的事情,但不适用于这种情况。
解决方案是我必须完全退出我的常规用户帐户并使用我的管理帐户登录。然后,我必须右键单击命令提示符和 运行 作为管理员。这样做后,我不再收到错误!
我在 C# 中创建了一个服务,它生成了一个可执行文件 "GodzillaService.exe"。服务本身只是一个完全根据此 link 生成的基本模板,除了名称:https://www.c-sharpcorner.com/article/create-windows-services-in-c-sharp/
当我尝试 运行 InstallUtil 时出现问题。根据上面的文章,我执行
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
在提升的命令提示符下,运行 作为管理员。然后我输入
InstallUtil.exe C:\Path\To\My\EXE\Godzilla.exe
我遇到了这个错误:
An exception occurred during the Install phase. System.InvalidOperationException: Cannot open Service Control Manager on computer '.'. This operation might require other privileges. The inner exception System.ComponentModel.Win32Exception was thrown with the following error message: Access is denied.
查看错误消息,经验告诉我,我需要授予对某物或某人的访问权限,但是什么?我已经 运行 以管理员身份使用该程序。到目前为止我已经尝试过这些东西:
- 运行 管理员身份的命令提示符。
- 运行 VS 2017 开发人员命令提示符作为管理员。
- 注销我的用户帐户,登录到我的管理员帐户,然后尝试 运行 启用它。
- 将 GodzillaService.exe 文件移动到 Program Files 目录,以防 applocker 干扰它。
- 运行 VS 2017 as admin,重建exe文件,然后试试
- 尝试使用 exe 文件和 InstallUtil 的完整路径。
- 确保我的管理员帐户在本地管理员组中。
- 尝试查看事件查看器以获取更多信息(未找到与此问题相关的任何日志,也许我找错地方了?)
- 尝试将服务程序中的帐户从 LocalSystem 更改为 User、LocalService 和 NetworkService
我没有想法...有人对我可以做些什么来进一步解决这个问题有什么建议吗?我很感激任何建议!
我花了一段时间,但我终于弄明白了!问题是,尽管我说我是 运行 以管理员身份使用它,但我是 运行 以具有管理员权限的用户身份使用它。完全不同。
在我的环境(域环境)中,出于某种原因,我们为 运行ning 程序阻止了 "Run as Administrator" 选项。因此,要运行作为管理员的东西,我们实际上必须运行它作为不同的用户,然后select我们的管理员帐户。这适用于 99% 的事情,但不适用于这种情况。
解决方案是我必须完全退出我的常规用户帐户并使用我的管理帐户登录。然后,我必须右键单击命令提示符和 运行 作为管理员。这样做后,我不再收到错误!