IIS 5.1: программно создать виртуальный подкаталог - PullRequest
0 голосов
/ 30 сентября 2010

Фон

Я пытаюсь автоматизировать создание виртуальных каталогов на основе расположения существующего виртуального каталога и его подкаталогов.

Пример:

C: \ WebSites \ Родитель \ 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") 

, но NewVirtualDirectories не является виртуальным каталогом (а я этого не хочу), поэтому я получаю сообщение об ошибке. Я могу получить желаемый эффект, когда делаю это вручную в диспетчере IIS, но не могу понять, как это автоматизировать.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 30 сентября 2010

РЕДАКТИРОВАТЬ

Для тех, кто сталкивается с подобными проблемами, я нашел отличный ресурс для VBScript-ов

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


После долгих поисков (методом проб и ошибок) я смог понять это.

Обращаясь к существующей папке как IISWebDirectory , я смог выбрать ее и затем создать приложение, не создавая виртуальный каталог.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...