IIS中有以下结构。
Internet Information Services
(local computer)
Web Sites
Default Web Site
MyApplicationMyApplication是IIS中的一个应用程序。
未在Default Web Site上设置集成Windows身份验证。但是,我想在MyApplication上设置集成Windows身份验证。(这是一个内部网应用程序)。
这可以通过GUI实现:右键单击Default Web Site并选择Properties。选择Directory Security选项卡,然后在匿名访问和身份验证控件上单击Edit。
我想把这个包含在安装脚本中。我还有其他安装命令,使用adsutil.vbs,但我很难设置集成windows身份验证。
跑步:
cscript //nologo c:\Inetpub\AdminScripts\adsutil.vbs GET /W3SVC/1/GET身份验证提供程序
返回
NTAuthenticationProviders : (STRING) "NTLM"但是,我很高兴能跑
/W3SVC/1/ROOT/MyApplication/NTAuthenticationProviders //nologo c:\Inetpub\AdminScripts\adsutil.vbs GET
但这又回来了
Error Trying To GET the property: (Get Method Failed)
NTAuthenticationProviders (This property is probably not allowed at this node)不能在应用程序级别上设置NTAuthenticationProviders元数据库属性吗?
发布于 2009-10-16 01:27:10
在IIS安全->身份验证方法对话中控制经过身份验证的访问属性值的元数据库属性实际上称为AuthFlags。
该值是一个标志,在这里记录如下:
AuthFlags元数据库特性(IIS6.0) (TechNet)
若要将此值设置为集成Windows身份验证(AuthNTLM),请使用以下命令(注意,因为此命令在默认网站IISNumber:1上运行)-
adsutil.vbs SET /W3SVC/1/ROOT/MyApplication/AuthFlags 4
如果您想同时设置NTLM和基本身份验证,那么您可以将布尔值或值放在一起,例如MD_AUTH_BASIC | AuthNTLM。这将产生6的整数结果。
:: Set both NTLM and Basic authenticationadsutil.vbs SET /W3SVC/1/ROOT/MyApplication/AuthFlags 6
如果检查元数据库文件(C:\WINDOWS\system32\inetsrv\MetaBase.xml)并搜索:
Location="/LM/W3SVC/1/ROOT/MyApplication"
...you将看到控制此设置的属性(在设置为6之后,如上面所示):
AuthFlags="AuthBasic | AuthNTLM"
在元数据库中更新此值可能需要一段时间,因为这样的更改不会立即刷新到文件中(尽管IISRESET会导致它立即更新)。
https://stackoverflow.com/questions/1571609
复制相似问题