现在的位置: 首页 > 综合 > 正文

如何通过活动目录(ADSI)修改IIS6中的 Web 服务扩展

2012年12月10日 ⁄ 综合 ⁄ 共 1308字 ⁄ 字号 评论关闭

IIS6的管理中,新增了一个Web 服务扩展,可以在里面配置网站是否支持ASP、ASP.NET、未知的ISAPI扩展等等。由于这一功能的增加,以前一些IIS默认的支持项,现在首先都得先设置成允许这个Web服务扩展才行。比如我们自己写的ISAPI扩展。
那么我们如何通过ADSI来修改Web 服务扩展呢?。可以通过访问本地IIsWebService对象的WebSvcExtRestrictionList属性。这个属性包括了所有的Web服务扩展。当然MSDN上为我们介绍了一种更简单的方法(VB Script):

Dim IIsWebServiceObj
Set IIsWebServiceObj = GetObject("IIS://localhost/W3SVC")

' Enable ASP and all ISAPIs:
IIsWebServiceObj.EnableWebServiceExtension "ASP"
IIsWebServiceObj.EnableWebServiceExtension "ASP.NET v1.1.4322"
IIsWebServiceObj.EnableWebServiceExtension "ASP.NET v2.0.50727"
IIsWebServiceObj.EnableExtensionFile "*.dll"
IIsWebServiceObj.SetInfo

通过 EnableWebServiceExtension  方法可以开启某项服务。EnableExtensionFile 则开启指定类型的程序的执行权限。其中 ".exe 相当于“允许所有未知的CGI程序”,"*.dll"相当于"允许所有未知的ISAPI扩展"
C#的代码类似:
DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
de.Invoke("EnableExtensionFile", "*.dll");
de.Invoke("SetInfo");

详细信息请参考MSDN:
Enabling ASP, ASP.NET, CGI, and ISAPI Extensions
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/a471a2f7-1ceb-44c4-8de8-10fc4dd11f9d.asp
WebSvcExtRestrictionList
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/c5906b2c-3a76-4a56-ad77-ee5313a64796.asp

另:
改变IIS站点 ASP.NET 版本的方法:
aspnet_regiis.exe -s W3SVC/1/ROOT
参考:
http://czhenq.cnblogs.com/archive/2006/03/25/358436.html
http://dotnet.mblogger.cn/cqfeng/posts/6544.aspx

抱歉!评论已关闭.