我写这个来提升perms并通过netsh添加http ACL条目。
用户将被提示对系统进行更改,但总比没有好。您可能希望在响应这样做是为了一个AddressAccessDeniedException
public static class NetAclChecker
{
public static void AddAddress(string address)
{
AddAddress(address, Environment.UserDomainName, Environment.UserName);
}
public static void AddAddress(string address, string domain, string user)
{
string args = string.Format(@"http add urlacl url={0} user={1}\{2}", address, domain, user);
ProcessStartInfo psi = new ProcessStartInfo("netsh", args);
psi.Verb = "runas";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = true;
Process.Start(psi).WaitForExit();
}
}
我想你知道该命令行不会在Windows XP上运行,对不对? – 2010-04-06 08:00:52
是啊,据我所知它只适用于Vista和Win7 – 2010-04-06 16:49:14
在这里看到这个问题: http://stackoverflow.com/questions/6851161/net-or-win32-equivalent-of-netsh-http-add-urlacl - 命令 有一个Win32 API来做到这一点。 – Travis 2011-12-22 23:58:27