小编use*_*778的帖子

在WCF中添加具有netsh的端口作为没有管理员权限的域管理员

我在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);
Run Code Online (Sandbox Code Playgroud)

非常感谢

c# wpf wcf netsh

5
推荐指数
1
解决办法
1358
查看次数

标签 统计

c# ×1

netsh ×1

wcf ×1

wpf ×1