集成身份validation在IIS 6中从命令行

部署ASP.NET应用程序的新版本时,我们需要将特定页面的身份validation方法设置为“仅集成”。 我们可以从IISpipe理控制台执行此操作,但希望编写一个脚本(批处理或PowerShell,并不重要),以便进行更改,以确保部署中的一切顺利进行。

应用程序中的其余页面将允许不同的身份validation方法,但是这个特定页面只允许集成。

在同一个部署中,我们还需要更改所有401错误的自定义错误页面的位置,最好也是从命令行。

AdsUtil.VBS是你的朋友:

adsutil.vbs set W3SVC/1/root/AuthNTLM true adsutil.vbs set W3SVC/1/root/AuthAnonymous false adsutil.vbs set W3SVC/1/root/AuthBasic false adsutil.vbs set W3SVC/1/root/AuthPassport false adsutil.vbs set W3SVC/1/root/AuthMD5 false 

这是一样的:

 adsutil.vbs set W3SVC/1/root/AuthFlags 5 

请注意,<1>是您的网站ID。

对于CustomErrors,您需要更新实际上是LIST项目的root / HTTPErrors字段。 David Wang有相应的脚本: chglist.vbs

 chglist.vbs W3SVC/1/HttpErrors 404 404,*,URL,/CustomErrors/404.asp /COMMIT 

对于单个文件,可以将它们添加到/ Root / Path之后:

 adsutil.vbs set W3SVC/1/root/MyFile.txt/AuthFlags 5 

您可以通过web.config文件控制身份validation。 您可以将以下内容放在web.config中( http://msdn.microsoft.com/zh-cn/library/aa291347(VS.71).aspx ):

 <system.web> <!-- mode=[Windows|Forms|Passport|None] --> <authentication mode="Windows" /> </system.web> 

或者,您可以查看IIS 5&6的System.DirectoryServices API( http://msdn.microsoft.com/en-us/library/system.directoryservices.aspx )或IIS 7的Microsoft.Web.Administration API ( http://msdn.microsoft.com/en-us/library/microsoft.web.administration.aspx )。