如何授予我的Windows服务管理员权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何授予我的Windows服务管理员权限相关的知识,希望对你有一定的参考价值。

我有一个winform,允许我使用此代码启用和禁用我所有8岁的网络适配器:

protected override void OnStart(string[] args)
    {
        //start timer
        SelectQuery query = new SelectQuery("Win32_NetworkAdapter","NetConnectionStatus=2");
        ManagementObjectSearcher search = new ManagementObjectSearcher(query);
        foreach (ManagementObject result in search.Get())
        {
            NetworkAdapter adapter = new NetworkAdapter(result);

            adapter.Disable();
            enabled = false;

        }

        InternetCheckTimer.Start();
    }

假设我正在运行admin,此代码在win表单上正常工作。我从来没有写过win服务,所以问题可能就是其他地方,我可以使用installutill进行安装并将调试器附加到进程,但是没有破坏点。我已经尝试启动和停止进程并且无法让调试器连接,所以我可能也会做错了...现在我假设代码正在运行而且我太愚蠢了,无法让调试器工作。也就是说,我认为我的代码要求服务具有像表单那样的管理员才能工作。

对不起,如果不清楚,如果您需要更多信息,我会尽力清理它。

答案

使用服务的用户和密码,并确保启动服务的用户具有运行应用程序所需的所有权限。如果您可以控制服务,另一种可能性是使用模拟,请参阅:http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C

另一答案

你可以尝试几种选择。

  1. 添加app.manifest
  2. 安装窗口服务后,将服务权限设置为以最高权限运行,并且还可以为登录用户设置用户名和密码。
另一答案

如何在Windows 7中获得完全管理员权限:

  1. 单击开始
  2. 单击计算机(您可能还会在桌面上找到此图标)。
  3. 右键单击安装操作系统的“硬盘”图标,然后单击“属性”。
  4. 单击“安全”选项卡。
  5. 单击“高级”选项卡。
  6. 单击“权限条目”列表后面的“更改权限”按钮。
  7. 屏幕上会出现一个新窗口;其中包含所有用户帐户的列表
  8. 选择要完全控制Windows 7的用户帐户,然后单击“编辑”按钮。
  9. 现在,勾选标有“Total Control”的复选框,然后按OK。

你们都完成了!

以上是关于如何授予我的Windows服务管理员权限的主要内容,如果未能解决你的问题,请参考以下文章

授予 Windows 2012 R2 上某些计算机的管理员访问权限

windows远程登录要登录到此远程计算机,您必须被授予通过终端服务登陆的权限

如何通过 C# 应用程序在文件级别授予 Windows 权限?

Windows 添加新用户,并授予该用户远程登录权限

Windows 添加新用户,并授予该用户远程登录权限

Windows 添加新用户,并授予该用户远程登录权限