IIS 常用操作编程实现(VB6)

来源:互联网 发布:python logger 红色 编辑:程序博客网 时间:2024/05/20 09:23
基础:添加以下引用:1,iisext.dll; 2, adsiis.dll; 3,activeds.tlb。

1,在 IIS 建立虚拟目录,
    Dim sComputer as string
    Dim websvc, vRoot, vDir
    sComputer = "localhost"
   
    ''''Get Default Web Site Object
    Set websvc = GetObject("IIS://" & sComputer & "/W3svc/1")
   
    ''''Get root of Default Web Site
    Set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root")
   
    Dim itm As ListItem
    Dim buf As String, errInfo As String, tryVirt
    For Each itm In ListView1.ListItems
        Err.Clear
        On Error Resume Next
        Set tryVirt = GetObject("IIS://" & sComputer & "/W3svc/1/ROOT/" & itm.SubItems(1))
        ''''Debug.Print Err.Number
        ''''如果得不到对应的虚拟目录,则出错,此时可以新建此虚拟目录。
        If Err.Number <> 0 Then
            Err.Clear
            Set vDir = vRoot.Create("IISWebVirtualDir", itm.SubItems(1))
            vDir.path = itm.Text
            vDir.Accessread = True
            vDir.SetInfo
          
        Else
        ''''记录已经创建的虚拟目录名称。
        ''''If tryVirt.AppGetStatus2 = 0 Then
             errInfo = errInfo & vbCrLf & itm.SubItems(1)
        End If
   
    Next

其实就是
    Set websvc = GetObject("IIS://" & sComputer & "/W3svc/1")
    Set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root")
    Set vDir = vRoot.Create("IISWebVirtualDir", vdName)
    vDir.Path=someDir
    vDir.setInfo
这几个语句就够了

2。删除虚拟目录
    Dim sComputer, sPhyDir, sVirDir As String
    Dim websvc, vRoot, vDir
    sComputer = "localhost"
   
    ''''Get Default Web Site Object
    Set websvc = GetObject("IIS://" & sComputer & "/W3svc/1")
   
    ''''Get root of Default Web Site
    Set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root")
   
    Dim itm As ListItem
    Dim buf As String, errInfo As String, tryVirt
    For Each itm In ListView1.ListItems
        Err.Clear
        On Error Resume Next
        Call vRoot.Delete("IISWebVirtualDir", itm.SubItems(1))
        If Err.Number <> 0 Then
            errInfo = errInfo & vbCrLf & itm.SubItems(1)
        End If
        Err.Clear    
    Next