ActiveXperts Network Monitor
Monitor servers, workstations, devices and applications in your network

Quicklinks


Internet Information Server 6.x Basic Administration Scripts

Add an Extension File
Back Up the Metabase Using a Password
Delete a Backup
Disable an Extension File
Delete an Extension File Record
Disable a Web Service Extension
Enable an Extension File
Enumerating History Files
Enumerating IIsObject Class Instances -- WMI
Export a Section of the Metabase
Enable a Web Service Extension
Import a Metabase Section
List Access Control Entries
List Access Control Information
List Backup Files
List Computer Setting Information
List Extension Files
List the IIS Computer Name
List IIsObjectSetting Class Instances
List IP Security Setting Information
List MIME Maps
List MIME Type Properties
List Secure Bindings
List Server Bindings
List Script Maps
List Web Service Extensions
List Web Service Extension Restrictions
List the Web Service Extension Restriction List
List Web Server MIME Maps
Modify Local Computer Properties
Restore a History File
Restore the Metabase Using a Password
Save a History File
Verify Edit While Running Property Value
Verify IIS Isolation Mode
Verify the IIS Server Version


You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.



Add an Extension File


Adds the BITS_Update.dll extension file.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.AddExtensionFile _
        "C:\WINDOWS\system32\bits_update.dll", False, _
            "BITSEXT", True, "BITS Update"
Next
	

Back Up the Metabase Using a Password


Backs up the metabase on the local computer, using the password er$3qld9o.
Const MD_BACKUP_HIGHEST_VERSION = &HFFFFFFFE
Const MD_BACKUP_OVERWRITE = 1

strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

objComputer.BackupWithPassword "ScriptedBackup", _
    MD_BACKUP_HIGHEST_VERSION, MD_BACKUP_OVERWRITE, _
        "er$3qld9o"
	

Delete a Backup


Deletes a metabase backup named ScriptedBackup.
Const BACKUP_VERSION = 0

strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

objComputer.DeleteBackup "ScriptedBackup", BACKUP_VERSION
	

Disable an Extension File


Disables the BITSsrv.dll extension file.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.DisableExtensionFile _
        ("C:\WINDOWS\system32\bitssrv.dll")
Next
	

Delete an Extension File Record


Deletes the BITS_Update.dll extension file record.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.DeleteExtensionFileRecord _
        "C:\WINDOWS\system32\bits_update.dll"
Next
	

Disable a Web Service Extension


Disables a Web service extension named WEBDAV.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * From IIsWebService")

For Each objItem in colItems
    objItem.DisableWebServiceExtension("WEBDAV")
Next
	

Enable an Extension File


Enables the extension file named BITSsrv.dll.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.EnableExtensionFile _
        ("C:\WINDOWS\system32\bitssrv.dll")
Next
	

Enumerating History Files


Lists all the IIS history files found on the local computer.
On Error Resume Next

strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

intIndex = 0

Do While True
    strName = ""
    objComputer.EnumHistory strLocation, intMajorVersion, _
        intMinorVersion, strDateTime, intIndex
    If (Err.Number <> 0) Then
        Exit Do
    End If
        
    dtDate = DateSerial(Mid(strDateTime, 1, 4), _
        Mid(strDateTime, 5, 2), Mid(strDateTime, 7, 2))
    dtTime = TimeSerial(Mid(strDateTime, 9, 2), _
        Mid(strDateTime, 11, 2), Mid(strDateTime, 13, 2))
    strFmtDateTime = FormatDateTime(dtDate) & " " & _
        FormatDateTime(dtTime, vbLongTime)
        
    Wscript.Echo "Location: " & strLocation
    WScript.Echo "Major Version: " & intMajorVersion
    WScript.Echo "Minor Version: " & intMin0rVersion
    WScript.Echo "Date and Time: " & strFmtDateTime
        
    intIndex = intIndex + 1
Loop
	

Enumerating IIsObject Class Instances -- WMI


Lists all the instances of the IIsObject class.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsObject")
 
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next
	

Export a Section of the Metabase


Exports a section of the metabase using the password er$3qld9o.
Const EXPORT_CHILDREN = 0

strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsComputer")

For Each objItem in colItems
    objItem.Export "er$3qld9o", "C:\backups\export.xml", _
        "/lm/logging/custom logging", EXPORT_CHILDREN
Next
	

Enable a Web Service Extension


Enables a Web service extension named WEBDAV.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.EnableWebServiceExtension("WEBDAV")
Next
	

Import a Metabase Section


Imports a section of the metabase using the password er$3qld9o.
Const IMPORT_MERGE = 4

strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsComputer")

For Each objItem in colItems
    objItem.Import "er$3qld9o", "C:\backups\export.xml", _
        "/lm/logging/custom logging", _
            "/lm/logging/custom logging", IMPORT_MERGE
Next
	

List Access Control Entries


Lists IIS access control entries.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsACE")
 
For Each objItem in colItems
    Wscript.Echo "Access Mask: " & objItem.AccessMask
    Wscript.Echo "Ace Flags: " & objItem.AceFlags
    Wscript.Echo "Ace Type: " & objItem.AceType
    Wscript.Echo "Flags: " & objItem.Flags
    Wscript.Echo "Inherited Object Type: " & _
        objItem.InheritedObjectType
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "Object Type: " & objItem.ObjectType
    Wscript.Echo "Trustee: " & objItem.Trustee
Next
	

List Access Control Information


Lists IIS access control information.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsAdminACL")
 
For Each objItem in colItems
    Wscript.Echo "Group: " & objItem.Group
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "Owner: " & objItem.Owner
    Wscript.Echo "Control Flags: " & objItem.ControlFlags
Next
	

List Backup Files


Lists all IIS backup files found on the local computer.
On Error Resume Next

Const MD_BACKUP_NO_MORE_BACKUPS = &H80070103
strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

intIndex = 0

Do While True
    strName = ""
    objComputer.EnumBackups strName, intIndex, _
        strVersion, strDateTime
    If (Err.Number <> 0) Then
        If (Err.Number = MD_BACKUP_NO_MORE_BACKUPS) Then
            Exit Do
        End If
    End If
        
    dtDate = DateSerial(Mid(strDateTime, 1, 4), _
        Mid(strDateTime, 5, 2), Mid(strDateTime, 7, 2))
    dtTime = TimeSerial(Mid(strDateTime, 9, 2), _
        Mid(strDateTime, 11, 2), Mid(strDateTime, 13, 2))
    strFmtDateTime = FormatDateTime(dtDate) & " " & _
        FormatDateTime(dtTime, vbLongTime)
        
    WScript.Echo "Name: " & strName
    Wscript.Echo "Version Number: " & strVersion 
    Wscript.Echo "Backup Date: " & strFmtDateTime
        
    intIndex = intIndex + 1
Loop
	

List Computer Setting Information


Lists IIS computer setting information.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsComputerSetting")
 
For Each objItem in colItems
    Wscript.Echo "Enable Edit While Running: " & _
        objItem.EnableEditWhileRunning
    Wscript.Echo "Enable History: " & objItem.EnableHistory
    Wscript.Echo "Maximum Bandwidth: " & objItem.MaxBandwidth
    Wscript.Echo "Maximum Bandwidth Blocked: " & _
        objItem.MaxBandwidthBlocked
    Wscript.Echo "Maximum Error Files: " & objItem.MaxErrorFiles
    Wscript.Echo "Maximum History Files: " & objItem.MaxHistoryFiles
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "Setting ID: " & objItem.SettingID
Next
	

List Extension Files


Lists all IIS extension files.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.ListExtensionFiles arrFiles
    For i = 0 to Ubound(arrFiles)
        Wscript.Echo arrFiles(i)
    Next
Next
	

List the IIS Computer Name


Lists the name of the computer where IIS is running.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsComputer")
 
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next
	

List IIsObjectSetting Class Instances


Lists all instances of the IIsObjectSetting class.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsObjectSetting")
 
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next
	

List IP Security Setting Information


Lists IIS IP security setting information.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsIPSecuritySetting")

For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
    For Each strDeny in objItem.DomainDeny
        Wscript.Echo "Domain Deny: " & strDeny
    Next
    For Each strGrant in objItem.DomainGrant
        Wscript.Echo "Domain Grant: " & strGrant
    Next
    Wscript.Echo "Grant By Default: " & objItem.GrantByDefault
    For Each strDeny in objItem.IPDeny
        Wscript.Echo "IP Deny: " & strDeny
    Next
    For Each strGrant in objItem.IPGrant
        Wscript.Echo "IP Grant: " & strGrant
    Next
Next
	

List MIME Maps


Lists IIS MIME maps.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsMimeMap")
 
For Each objItem in colItems
    Wscript.Echo "Name: " & objItem.Name
Next
	

List MIME Type Properties


Lists IIS MIME map extensions and types.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServerSetting") 

For Each objItem in colItems
    For i = 0 to Ubound(objItem.MimeMap)
        Wscript.Echo "Extension: " & objItem.MimeMap(i).Extension
        Wscript.Echo "MIME Type: " & objItem.MimeMap(i).MimeType
        Wscript.Echo
    Next
Next
	

List Secure Bindings


Lists IIS secure binding information.
strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServerSetting")

For Each objItem in colItems
    For i = 0 to Ubound(objItem.SecureBindings)
        Wscript.Echo "Port: " & _
            objItem.SecureBindings(i).Port
    Next
Next
	

List Server Bindings


Lists IIS server binding information.
strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServerSetting")

For Each objItem in colItems
    For i = 0 to Ubound(objItem.ServerBindings)
        Wscript.Echo "Port: " & _
            objItem.ServerBindings(i).Port
    Next
Next
	

List Script Maps


Lists IIS script maps and related property values.
strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServerSetting")

For Each objItem in colItems
    For i = 0 to Ubound(objItem.ScriptMaps)
        Wscript.Echo "Extension: " & _
            objItem.ScriptMaps(i).Extensions
        Wscript.Echo "Flags: " & _
            objItem.ScriptMaps(i).Flags
        Wscript.Echo "Included Verbs: " & _
            objItem.ScriptMaps(i).IncludedVerbs
        Wscript.Echo "Script Processor: " & _
            objItem.ScriptMaps(i).ScriptProcessor
        Wscript.Echo
    Next
Next
	

List Web Service Extensions


Lists all IIS Web service extensions.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    objItem.ListWebServiceExtensions arrExtensions
    For i = 0 to Ubound(arrExtensions)
        Wscript.Echo arrExtensions(i)
    Next
Next
	

List Web Service Extension Restrictions


List information about Web service extension restrictions.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServiceSetting")

For Each objItem in colItems
    For i = 0 to Ubound(objItem.WebSvcExtRestrictionList)
        Wscript.Echo "Access: " & _
            objItem.WebSvcExtRestrictionList(i).Access
        Wscript.Echo "File Path: " & _
            objItem.WebSvcExtRestrictionList(i).FilePath
        Wscript.Echo
    Next
Next
	

List the Web Service Extension Restriction List


Lists all items on the Web service extension restriction list.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsWebServiceSetting")

For Each objItem in colItems
    For i = 0 to Ubound(objItem.WebSvcExtRestrictionList)
        Wscript.Echo "Server Extension: " & _  
            objItem.WebSvcExtRestrictionList(i)._
                ServerExtension
        Wscript.Echo "Access: " & _
            objItem.WebSvcExtRestrictionList(i).Access
        Wscript.Echo "Deletable: " & _
            objItem.WebSvcExtRestrictionList(i).Deletable
        Wscript.Echo "Description: " & _
            objItem.WebSvcExtRestrictionList(i).Description
        Wscript.Echo "File Path: " & _
            objItem.WebSvcExtRestrictionList(i).FilePath
        Wscript.Echo
    Next
Next
	

List Web Server MIME Maps


Lists all Web server MIME map extensions and types.
strComputer = "."
 
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsWebServerSetting")
 
For Each objItem in colItems
    For i = 0 to Ubound(objItem.MimeMap)
        Wscript.Echo "Extension: " & objItem.MimeMap(i).Extension
        Wscript.Echo "MIME Type: " & objItem.MimeMap(i).MimeType
        Wscript.Echo
    Next
Next
	

Modify Local Computer Properties


Demonstration script that modifies IIS local computer properties.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsComputerSetting")

For Each objItem in colItems
    objItem.EnableEditWhileRunning = 1
    objItem.EnableHistory = 1
    objItem.MaxHistoryFiles = 50
    objItem.Put_
Next
	

Restore a History File


Restore an IIS history file.
Const MAJOR_VERSION = 257
Const MINOR_VERSION = 0

strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

objComputer.RestoreHistory _
    "C:\WINDOWS\System32\Inetsrv\History\", _
        MAJOR_VERSION, MINOR_VERSION, 0
	

Restore the Metabase Using a Password


Restores an IIS metabase backup named ScriptedBackup using a password of er$3qld9o.
Const MD_BACKUP_HIGHEST_VERSION = &HFFFFFFFE 

strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

objComputer.RestoreWithPassword _
    "ScriptedBackup", MD_BACKUP_HIGHEST_VERSION, 0, _
         "er$3qld9o"
	

Save a History File


Saves an IIS history file.
strComputer = "."

Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set objComputer = _
    objWMIService.Get("IIsComputer.Name='LM'")

objComputer.SaveData
	

Verify Edit While Running Property Value


Indicates whether IIS settings can be edited while the service is running.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsComputerSetting")

For Each objItem in colItems
    Wscript.Echo "Enable Edit While Running: " & _
        objItem.EnableEditWhileRunning
Next
	

Verify IIS Isolation Mode


Verifies whether or not IIS is running in worker process isolation mode.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * From IIsWebService")

For Each objItem in colItems
    intMode = objItem.GetCurrentMode
    If intMode = 0 Then
        Wscript.Echo _
            "IIS is in IIS 5.0 isolation mode."
    ElseIf intMode = 1 Then
        Wscript.Echo _
            "IIS is in worker process isolation mode."
    Else
        Wscript.Echo _
            "The current mode cannot be determined."
    End If
Next
	

Verify the IIS Server Version


Returns the version of IIS running on a computer.
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery("Select * from IIsWebInfo")

For Each objItem in colItems
    Wscript.Echo "Major IIS Version Number: " & _
        objItem.MajorIIsVersionNumber
    Wscript.Echo "Minor IIS Version Number: " & _
        objItem.MinorIIsVersionNumber
    Wscript.Echo "Name: " & objItem.Name
Next