WSH Script to remove un-needed IIS Script-Mappings using ADS

发表于:2007-06-30来源:作者:点击数: 标签:
This script removes un-needed script mappings on an IIS 5.0 web server.Script mappings are the isapi dlls or exe@#s that execute webpages through IIS.This script requires administrator access, and ADSI 2.5 files.This script queries the IIS
This script removes un-needed script mappings on an IIS 5.0 web server.  Script mappings are the isapi dlls or exe@#s that execute webpages through IIS.   This script requires administrator aclearcase/" target="_blank" >ccess, and ADSI 2.5 files.  This script queries the IIS metabase and returns a multi-valued array list.  The script loops through the array and build a new set of Script-Mappings.  We assume no responsibility for someone trying this script and any damages that may occur(Try at own risk!).   Testing on a development machine is strongly recommend before running in a production environment.  Backing up the metabase is also strongly recommended.

Here is the code

Dim strExt
Dim myValue
dim strNothing
dim strBuild
dim i
dim iValue

Set myValue = GetObject("IIS://LocalHost/W3SVC/1/root")

@#Returns an array multi valued list
@#Puts the values in a local array variable myArray
myArray = myValue.Get("ScriptMaps")

@#Loops through building a string
@#based on myArray list of values
For i = 0 To UBound(myArray)
          iValue = InStr(myArray(i), ",")
         strExt = Left(myArray(i), iValue - 1)

                 Select Case strExt

                 Case ".idq", ".ida", ".printer", ".htw", ".htr"
                    @#Builds a bogus string of un-needed mappings
                            strNothing = strNothing & myArray(i)

                 Case Else
                    @#Builds a string of mappings with
                    @#the # as the delimiter
                           strBuild = strBuild & myArray(i) & "#"
                 End Select
Next

@#Returns a 1-dimensinonal array based
@#on the string i build existing values
strBuild = split(strBuild, "#")

@#Clears current Script Mappings in the metabase
myValue.Put "ScriptMaps", VBNull

@#Inserts values without un-needed mappings into metabase
myValue.Put "ScriptMaps", strBuild
myValue.SetInfo
set myValue = Nothing  

原文转自:http://www.ltesting.net