Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


IIS 6 Host Header Scripting

Posted on 2004-10-14
Medium Priority
Last Modified: 2008-01-09
I have the need to add and/or delete host headers from a specific web site via scripting or some other automated process.  I am familiar with iisweb.vbs but it appears to only allow the creation and deletion of web sites, not their host headers.

I have administrative access to the server, so permissions should not be an issue.

Thank you,
Question by:Aristippus
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 34

Accepted Solution

Dave_Dietz earned 2000 total points
ID: 12313837
Put the following in a VBS file:
SiteInstance = 1                     'Default Web Site - test value - modify for use

IPAddress = ""          'test value - modify for use - leave blank for 'All Unassigned'

PortNumber = "80"                  'default

HostHeader = "localhost"         'test value - modify for use - set to blank to remove
IIsObjectPath = "IIS://localhost/W3SVC/" & SiteInstance ' & "/ServerBindings"
Set IIsObject = GetObject(IIsObjectPath)

IIsObject.Put "ServerBindings", IPAddress & ":" & PortNumber & ":" & HostHeader



Dave Dietz

Author Comment

ID: 12314631

Thanks for the reply, but that script 'changes' the host header and other information.

I need the ability to 'add' and remove additional host headers.

Hopefully this script can be modified to produce the desired results.

Thank you,

Author Comment

ID: 12316287
Dave's script didn't allow for what I needed, but it did lead me in the right direction.

IIS object does NOT support ADS_PROPERTY_APPEND so it needs a work around (load existing into an array, redim array adding element, rewrite the properties).

It also tests to ensure that the host header does not already exist.

The working script:

strADsPath = "IIS://localhost"
strKey = "W3SVC/1"
strAttribute = "ServerBindings"
strEntry = ""
Set objKey = GetObject(strADsPath & "/" & strKey)

' Check to see whether the entry is already in the
' collection. If it is, quit and inform
For Each strValue in arrValue
      If strValue = strEntry Then
            WScript.Echo "The entry: " & strEntry & _
                  " is already present in " & strAttribute & "." & _
                  " The script will now quit."
      End If

' Add a new item to the array.
Redim Preserve arrValue(uBound(arrValue) + 1)
' Add the value to the new item in the array.
arrValue(uBound(arrValue)) = strEntry

' Update the object with the existing values
' and the new value if it wasn't already present.
objKey.PutEx ADS_PROPERTY_UPDATE, strAttribute, arrValue

For Each strValue in arrValue
      WScript.Echo strValue
LVL 34

Expert Comment

ID: 12316289
I was just working on something like this -  just nowhere near as elegant.....  :-)

Dave Dietz

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

What is an ISAPI filter?   •      It's an assembly (.dll file) that can add or change the way IIS works.   •      They can be enabled globally for your web server or on a site-by-site basis.   When the IIS server receives a request, enabling the ISAPI fi…
Prologue It is often required to host multiple websites on a single instance of IIS, mostly in development environments instead of on production servers. I am sure it is not much a preferred solution on production servers but this is at least a pos…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
Suggested Courses

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question