我已经使用VS2010 SP1升级到iis express 7.5。在发行说明中,它指定express能够在没有管理员权限的情况下运行。当我尝试从命令行(powershell cmd行)运行时,我收到相同的“拒绝访问”错误(如下所示)我正在运行IIS Express 7。
据我所知,管理员权限仍然是必需的。
任何人都可以在没有管理员权限的情况下运行吗?
详细的错误消息是:
Failed to call HttpAddUrl with http://MACHINE-NAME:80/
Failed to register URL "http://MACHINE-NAME:80/" for site "WebSiteName" application "/". Error description: Access is denied. (0x80070005)
答案 0 :(得分:39)
也可以在保留端口上以非管理用户身份运行 IIS Express ,并为外部流量提供请求,但您需要配置HTTP服务以允许此 。 Netsh Commands for Hypertext Transfer Protocol (HTTP) technet页面详细描述了Windows 7计算机(也包括Vista,Server 2008等)。正如您所料,您需要以管理员身份运行配置命令。添加和删除权限的命令示例如下:
netsh http add urlacl url=http://YOUR-MACHINE-NAME:80/ user=DOMAINNAME\GroupOrUserName
netsh http delete urlacl url=http://YOUR-MACHINE-NAME:80/
这适用于Windows 7,虽然我无法对其进行验证,但我希望Httpcfg.exe: HTTP Configuration Utility可以在早期版本的Windows(XP,Server 2003)上使用{{3}}。
答案 1 :(得分:32)
在此处查看需要管理员访问权限的内容以及不需要管理员权限的内容,具体取决于您使用IIS Express执行的操作:http://learn.iis.net/page.aspx/1003/running-iis-express-without-administrative-privileges/
执行以下任务需要管理员权限:
* Use a reserved port such as 80 or 443.
* Serve requests for external traffic.
* Configure a custom SSL certificate.
* Run SSL using a port outside the range of 44300 to 44399.
因此,如果您正在执行上述任何操作,则需要管理员访问权限。
这与7或7.5无关。
答案 2 :(得分:0)
以管理员身份打开CMD并运行下面的语句
netsh http add iplisten ipaddress = ::