用vbs控制iis创建虚拟目录

类别:Asp 点击:0 评论:0 推荐:

    参照了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。

本文地址:http://com.8s8s.com/it/it9126.htm