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

Bri*_*ien 2 scripting iis powershell deployment iis-6

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

应用程序中的其余页面将允许不同的身份验证方法,但此特定页面仅允许集成。

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

Chr*_*wis 5

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

这与以下内容相同:

adsutil.vbs set  W3SVC/1/root/AuthFlags 5
Run Code Online (Sandbox Code Playgroud)

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

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

chglist.vbs W3SVC/1/HttpErrors 404 404,*,URL,/CustomErrors/404.asp /COMMIT 
Run Code Online (Sandbox Code Playgroud)

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

adsutil.vbs set W3SVC/1/root/MyFile.txt/AuthFlags 5
Run Code Online (Sandbox Code Playgroud)