用getobject可以操作iis,比如我想创建一个虚拟目录,可以用:
Set objIIS = GetObject("IIS://localhost/W3SVC/1/ROOT/aaa")
Set objVirtualDir = objIIS.Create("IISWebVirtualDir", "bbb")
objVirtualDir.AccessRead = True
objVirtualDir.Path = "C:\aaa\bbb"
objVirtualDir.setInfo
上述代码在路径C:\aaa\bbb存在的时候才能运行成功,当目录bbb不存在的时候iis不会自动创建这个目录,我想问一下,这里有没有什么方法让iis创建这个bbb目录?如果iis在远程计算机上,他不启用文件共享,我能不能用vb操作iis的方法在对方计算机上创建bbb这个目录?

解决方案 »

  1.   

    第一个问题:
        Dim IIsObjectPath
        Dim IIsObject
        Dim vroot
        Dim vdir    IIsObjectPath = server + "/W3SVC/" + 1
        Set IIsObject = GetObject(IIsObjectPath)    Set vroot = IIsObject.GetObject("IIsWebVirtualDir", "Root")    Set vdir = vroot.Create("IIsWebVirtualDir", "aaa")你可以先创建aaa然后再接着创建bbb你要一级一级的创建第二个问题没研究过
      

  2.   

    首先,在不确定是否有这个文件夹之前。
    应该对root下的文件夹进行遍历。
    代码如下:
    '--------------------------------
    Dim Mypath,MyfileName
    Mypath="c:\"
    MyfileName=Dir(Mypath,vbDirectory)'包括文件夹在内的c:\所有的内容Do while MyfileName <>""
     If (GetAttr(Mypath & MyfileName) And vbDirectory) = vbDirectory Then
         If MyfileName = "aaa" Then
           End
         Else
           '创建aaa文件夹
         End If
     End If
     MyfileName = Dir   '通过这个赋值,实现do while的循环。
    Loop
      

  3.   

    关于属性看下面
    去IIS的帮助里面找找就知道了    vdir.AccessRead = False 读
        vdir.AccessExecute = True 执行
        vdir.AspBufferingOn = True 
        vdir.AccessScript = True 脚本
        vdir.AspAllowSessionState = False  
        vdir.ContentIndexed = False自己对去吧