在IIS 6中的应用程序级别设置nAuthenticationProviders
我在IIS中具有以下结构在IIS 6中的应用程序级别设置nAuthenticationProviders,iis,Iis,我在IIS中具有以下结构 Internet Information Services (local computer) Web Sites Default Web Site MyApplication MyApplication是IIS中的一个应用程序 未在默认网站上设置集成Windows身份验证。 但是,我想在MyApplication上设置集成Windows身份验证。(这是一个内部网应用程序) 这可以通过GUI完成:右键单击默认网站,然后选择属性。选择目录安
Internet Information Services
(local computer)
Web Sites
Default Web Site
MyApplication
MyApplication
是IIS中的一个应用程序
未在默认网站上设置集成Windows身份验证。
但是,我想在MyApplication
上设置集成Windows身份验证。(这是一个内部网应用程序)
这可以通过GUI完成:右键单击默认网站
,然后选择属性
。选择目录安全性
选项卡,然后单击匿名访问和身份验证控件上的编辑
我想将其包含在安装脚本中。我还有其他设置命令,使用的是adsutil.vbs
,但我正在努力设置集成的windows身份验证
运行:
cscript//nologo c:\Inetpub\AdminScripts\adsutil.vbs GET/W3SVC/1/nAuthenticationProviders
返回
NTAuthenticationProviders : (STRING) "NTLM"
不过,我还是能跑
cscript//nologo c:\Inetpub\AdminScripts\adsutil.vbs GET/W3SVC/1/ROOT/MyApplication/nAuthenticationProviders
但这又回来了
Error Trying To GET the property: (Get Method Failed)
NTAuthenticationProviders (This property is probably not allowed at this node)
无法在应用程序级别上设置nAuthenticationProviders
Metabase属性吗?控制IIS目录安全性->身份验证方法对话框上经过身份验证的访问属性值的Metabase属性实际上称为AuthFlags
该值是一个标志,并记录在此处:
要将此值设置为集成Windows身份验证(AuthNTLM
),请使用以下命令(注意,因为此命令在默认网站IISNumber上运行:1)-
adsutil.vbs集/W3SVC/1/ROOT/MyApplication/AuthFlags 4
例如,如果要同时设置NTLM和基本身份验证,则可以使用布尔值或将值组合在一起,例如MD_AUTH_Basic|AuthNTLM
。这将生成6
的整数结果:
::同时设置NTLM和基本身份验证
adsutil.vbs集/W3SVC/1/ROOT/MyApplication/AuthFlags 6
如果检查元数据库文件(C:\WINDOWS\system32\inetsrv\metabase.xml
),并搜索:
Location=“/LM/W3SVC/1/ROOT/MyApplication”
…您将看到控制此设置的属性(如上所述设置为6后):
AuthFlags=“AuthBasic | AuthNTLM”
在元数据库中更新此值之前可能需要一些时间,因为这样的更改不会立即刷新到文件中(尽管IISRESET会导致文件立即更新)