当前位置:首页 >> 脚本专栏

用vbs控制iis创建虚拟目录的代码

参照了Inetpub\AdminScripts\adsutil.vbs写的创建虚拟目录的脚本: 

复制代码 代码如下:
'////////////////////////// begin //////////////////////////////////////////  

On Error Resume Next  
strVirtualDirectoryName = InputBox("请输入虚拟目录名")  
If strVirtualDirectoryName = "" Then  
msgbox("输入错误,程序结束!")  
WScript.Quit  
End If  
strVirtualDirectoryPath=InputBox("请输入网站文件所在的目录名(例如:e:\web)")  
If strVirtualDirectoryPath = "" Then  
msgbox("输入错误,程序结束!")  
WScript.Quit  
End If  
strVirtualDirectoryPath = Replace(strVirtualDirectoryPath,"/","\")  
Set MyFso = CreateObject("Scripting.FileSystemObject")  
If MyFso.FolderExists(strVirtualDirectoryPath) = 0 then  
msgbox("文件夹"&strVirtualDirectoryPath&"不存在!")  
Else  
Set objIIS = GetObject("IIS://localhost/W3SVC/1/Root")  
Set objVirtualDirectory = objIIS.Create("IISWebVirtualDir",strVirtualDirectoryName)  
If (Err.Number <> 0) Then '如果虚拟目录已存在或有其他错误时则为真  
Err.Clear  
Set myDir = objIIS.GetObject("IIsWebVirtualDir",strVirtualDirectoryName) '创建虚拟目录对象  
If (Err.Number <> 0) Then '虚拟目录不存在时则为真,说明是其他未知错误,否则为虚拟目录已存在  
msgbox("对不起,发生未知错误,操作失败!")  
WScript.Quit (Err.Number)  
end if  
m=msgbox ("虚拟目录"&strVirtualDirectoryName&"已存在,是否删除?",1+32,"删除确认")  
if m<>1 then  
WScript.Quit  
end if  
objIIS.Delete "IIsObject", strVirtualDirectoryName  
If (Err.Number <> 0) Then  
msgbox("删除虚拟目录"&strVirtualDirectoryName&"失败")  
WScript.Quit (Err.Number)  
end if  
Set objVirtualDirectory = objIIS.Create("IISWebVirtualDir",strVirtualDirectoryName)  
objVirtualDirectory.AccessScript = true  
objVirtualDirectory.Path = strVirtualDirectoryPath  
objVirtualDirectory.EnableDefaultDoc=True  
objVirtualDirectory.DefaultDoc="index.htm"  
objVirtualDirectory.AppFriendlyName=strVirtualDirectoryName  
objVirtualDirectory.SetInfo  
objVirtualDirectory.AppCreate true 'bolInProcessApplication  
msgbox("操作成功!虚拟目录"&strVirtualDirectoryName&"建立成功,"&vbCrLf&"请在浏览器地址栏中输入http://localhost/"&strVirtualDirectoryName&"/查看效果")  
else  
objVirtualDirectory.AccessScript = true  
objVirtualDirectory.Path = strVirtualDirectoryPath  
objVirtualDirectory.EnableDefaultDoc=True  
objVirtualDirectory.DefaultDoc="index.htm"  
objVirtualDirectory.AppFriendlyName=strVirtualDirectoryName  
objVirtualDirectory.SetInfo  
objVirtualDirectory.AppCreate true 'bolInProcessApplication  
msgbox("操作成功!虚拟目录"&strVirtualDirectoryName&"建立成功,"&vbCrLf&"请在浏览器地址栏中输入http://localhost/"&strVirtualDirectoryName&"/查看效果")  
end if  
End If  
Set MyFso = nothing  

'////////////////////////// end //////////////////////////////////////////  

在做安装的asp程序时可以参照上面的脚本。 
以上的程序也可以改写为asp的脚本,只是在运行该asp页面时要注意一点,该asp页面所在的虚拟目录的匿名登陆用户必须要为administrator,否则浏览器会提示权限不够的提示! 
使用同样的方式也可以来创建web站点,具体可以参照inetpub\AdminScripts\adsutil.vbs。