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

标签 c# windows-services

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

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();
    }

假设我使用管理员运行,此代码在 win 表单上运行良好。我以前从未编写过 win 服务,所以问题可能出在其他地方,我可以使用 installutill 进行安装并将调试器附加到进程,但是没有遇到断点。我已经尝试启动和停止进程,但无法让调试器附加,所以我也可能做错了……现在我假设代码正在运行,但我太笨了,无法让调试器工作。也就是说,我认为我的代码需要服务像表单一样拥有管理员才能工作。

抱歉,如果不清楚,如果您需要更多信息,我会尽力解决。

最佳答案

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

关于c# - 如何授予我的 Windows 服务管理员权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13082284/

相关文章:

java - JavaExe下Windows服务启动失败: Updated

c# - 基于 TFS 的自动化 CI UI 测试与桌面交互

c# - 在启动 Windows 服务时,启动线程。我怎样才能做到这一点?

c# - 在应用程序配置文件中找不到指定的连接字符串

c - 使用 CreateProcessAsUser 将用户恢复到 session 1 后,用户的路径不再可访问

windows - 每天运行任务计划程序两次,但不是每小时运行一次

c# - nhibernate 不级联删除 child

c# - 我是否必须关闭 Word Interop 应用程序?

c# - 如何检测崩溃的选项卡式网络浏览器并处理它?

c# - 如果删除 *.exe.config 会发生什么?