How to setup IIS with VB Script?

Basically what I do right now is I manually go to IIS

1. add UserAcct to sercurity in IIS
2. create web site name Test and set local path to C:\Inetpub\Test
3. set host name as test.website.com
4. create new virtual directory: op
5. set local path to C:\Inetpub\Test\MoreTest
6. Application name: op

How would I do automate all of that using VB script?

Thanks!
dy211Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

dy211Author Commented:
can anyone help please?? I dont have the MicrosoftIISv2 namespace, are there other ways to do it?
0
dy211Author Commented:
I was able to create the website successfully with mkw3site.vbs, and i was able to create the virtual directory under it with

set objIIS = GetObject("IIS://localhost/W3SVC/2/root")

with /1/ it was creating the vir dir at Default Website before but after switching to /2/ it works correctly by creating it under Test.

But the problem is, what if I run this script on another computer with many websites in IIS and Test is not the second 1?? why doesnt IIS://localhost/W3SVC/Test/root work?
	' create website with mkw3site.vbs
	dim objShell : set objShell = wscript.CreateObject("WScript.Shell")	
	strCmd = "cscript C:\""Documents and Settings""\user\Desktop\scripts\mkw3site.vbs -r C:\Inetpub\Test -t Test -h test.website.com -o 8080"	
	dim objExec : set objExec = objShell.Exec(strCmd)
	
	'strOutPut = objExec.StdOut.ReadAll
	strErr = objExec.StdErr.ReadAll
	'strECode = objExec.ExitCode
 
	' outputs
	if strErr = "" then
		wscript.echo vbtab & "Website ""Test"" created..."
	else
		wscript.echo vbtab & strErr	
	end if
 
	set objShell = Nothing	
 
	
	' create virtual directory
    	dim objIIS, objVirtualDir
    	dim objIIsIPSecurity
	dim packageName : packageName = "op"
	dim path : path = "C:\Inetpub\Test\MoreTest"
   
    	' remove virual directory if any
	'On Error Resume Next
    	set objIIS = GetObject("IIS://localhost/W3SVC/1/root")
    	objIIS.Delete "IIsWebVirtualDir", PackageName
    	Set oIIS = Nothing
   
    	' Set up configuration
    	set objIIS = GetObject("IIS://localhost/W3SVC/2/root")  
    	set objVirtualDir = objIIS.Create("IIsWebVirtualDir", packageName)
    	objVirtualDir.Path = path
    	objVirtualDir.AccessRead = True
    	objVirtualDir.AccessWrite = True
    	objVirtualDir.AccessExecute = True
    	objVirtualDir.AuthAnonymous = False
    	objVirtualDir.AuthBasic = False
    	objVirtualDir.AuthNTLM = True
    	objVirtualDir.ContentIndexed = True
    	objVirtualDir.EnableDirBrowsing = False
    	objVirtualDir.AppIsolated = False
    	objVirtualDir.AspBufferingOn = True
    	objVirtualDir.AspSessionTimeout = 1
 
 	if inStr(1, objVirtualDir.DefaultDoc, "Default.asp") = 0 then
 	       objVirtualDir.DefaultDoc = "Default.asp, " & objVirtualDir.DefaultDoc
 	end if
 
 	objVirtualDir.EnableDefaultDoc = True
	call objVirtualDir.AppCreate(True)
 
   	objVirtualDir.AppFriendlyName = packageName
    	call objVirtualDir.SetInfo
 
	set objVirtualDir = nothing
    	set objIIS = nothing

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dy211Author Commented:
Also, to give permission to folders work with the code below, but how would I do the samething to the website Test I created? can I set it during creation? if not how can I set it afterwards?
	set objShell = wscript.CreateObject("WScript.Shell")
        objShell.Run "cmd /c echo y | cacls ""C:\Inetpub"" /E /P ""Network Service:R"" ""Internet Guest Account:R"" ""Launch IIS Process:R""", 7, True

Open in new window

0
meverestCommented:
Hi,

the site-id ('1' and '2') defines which web site you are operating on.  You can see the site ID in the IIS manager application when you select the 'web sites' node and view the list of web sites in the right hand panel.  The number shown under "Identifier" is the same as the number that you use in the adsi path.

each time you create a new web site, assign a unique ID, and then you can manage that web site using the functions you are already using.

Cheers.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.