怎么样使用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。