【问题标题】:Add ports with netsh in WCF as domain admin without admin privileges在 WCF 中将带有 netsh 的端口添加为没有管理员权限的域管理员
【发布时间】:2012-01-11 08:52:29
【问题描述】:

我在 WPF 应用程序(自托管)中有 WCF 服务,并且出现典型错误“您的进程没有访问此命名空间的权限”。 用户不能拥有管理员权限,因此使用 .manifest 不是解决方案。 端口是动态的,应用程序每次运行都会计算一个空闲端口,所以应用程序必须通过netsh多次插入监听端口 我使用域管理员的 ProcessStartInfo,但要启动用户需要管理员权限的过程。 以管理员身份运行应用程序也不是解决方案,所以我需要普通用户可以运行应用程序,并且程序通过 netsh 作为域管理员添加端口。

我的流程是这样的:

    ProcessStartInfo psi = new ProcessStartInfo("netsh", parameter);
        SecureString ss = new SecureString();

            for (int i = 0; i < adminPass.Length; i++)
                ss.AppendChar(adminPass[i]);

            psi.Password = ss;
            psi.UserName = Admin;
            psi.Domain = Domain;
            psi.Verb = "runas";
            psi.RedirectStandardOutput = false;
            psi.CreateNoWindow = true;
            psi.WindowStyle = ProcessWindowStyle.Hidden;
            psi.UseShellExecute = false;
            Process.Start(psi);

非常感谢

【问题讨论】:

    标签: c# wpf wcf netsh


    【解决方案1】:

    查看此Stack Overflow question 的已接受答案,以找到可能的解决方案。答案中概述的方法是将需要管理员的代码分解为 Windows 服务,该服务在调用时在适当的(单独的)帐户下执行提升的权限操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      • 2012-03-01
      • 1970-01-01
      • 2016-06-17
      • 2014-02-04
      • 2023-01-04
      • 2021-05-23
      相关资源
      最近更新 更多