代码之家  ›  专栏  ›  技术社区  ›  Brandon Boone

IIS 5.1:以编程方式创建虚拟子目录

  •  0
  • Brandon Boone  · 技术社区  · 14 年前

    背景

    我正在尝试根据现有虚拟目录及其子目录的位置自动创建虚拟目录。

    例子:

    C:\WebSites\Parent\NewVirtualDirectories目录

    其中Parent是一个虚拟目录,NewVirtualDirectories包含任何自动虚拟目录。

    问题

    Option Explicit
    Dim args, strComputer, strVdirName, strVdirPath, objVdir, objIIS, objWebSite
    
    Set args = WScript.Arguments
    
    strComputer = "localhost" 
    strVdirName = args(1) 
    strVdirPath = args(0) 
    
    Set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1") 
    Set objWebSite = objIIS.GetObject("IISWebVirtualDir","Root/Parent") 
    Set objVdir = objWebSite.Create("IISWebVirtualDir",strVdirName) 
    objVdir.AccessRead = True 
    objVdir.Path = strVdirPath 
    objVdir.AppCreate (True) 
    objVdir.SetInfo 
    
    WScript.Quit
    

    我得到: http://localhost/Parent/NewSite

    我想要: http://localhost/Parent/NewVirtualDirectories/NewSite

    我试过了

    Set objWebSite = objIIS.GetObject("IISWebVirtualDir","Root/Parent/NewVirtualDirectories") 
    

    任何帮助都将不胜感激。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Brandon Boone    14 年前

    编辑

    对于那些面临类似问题的人来说,我找到了一个很好的vb脚本资源

    http://www.cruto.com/resources/vbscript/vbscript-examples/vbscript-sitemap.asp


    通过引用现有文件夹作为 二、董事会 ,我可以选择它,然后在不创建虚拟目录的情况下创建应用程序。

    Option Explicit
    Dim args, strComputer, strVdirName, strVdirPath, objVdir, objIIS, objWebSite
    
    Set args = WScript.Arguments
    
    strComputer = "localhost" 
    strVdirName = args(1) 
    strVdirPath = args(0) 
    
    Set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1") 
    Set objVdir = objIIS.GetObject("IISWebDirectory","Root/Parent/NewVirtualDirectories/" + strVdirName)
    objVdir.AccessRead = True 
    objVdir.AccessScript = True 
    objVdir.AppFriendlyName = strVdirName 
    objVdir.AppCreate (True) 
    objVdir.SetInfo 
    
    WScript.Quit