5
我在WPF應用程序(自託管)中有WCF服務,而且我的典型錯誤是「您的進程無權訪問此名稱空間」。 用戶不能擁有管理員權限,因此使用.manifest不是解決方案。 這些端口是動態的,應用程序每次運行時都會計算一個空閒端口,所以應用程序必須通過netsh多次插入監聽端口 我使用帶域管理員的ProcessStartInfo,但要啓動進程,用戶需要管理員權限。 以管理員身份運行應用程序既不是解決方案,所以我需要一個普通用戶可以運行該應用程序,並且該程序通過netsh作爲域管理員添加端口。在WCF中將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);
非常感謝