IIS API - 创建虚拟目录?

wpr*_*prl 6 .net asp.net api iis virtual-directory

只是寻找相关的文件.一个例子没有必要,但我们将不胜感激.

我们有一种情况,我们不得不手动创建100个虚拟目录,似乎自动化这将是一个很好的方法,使现在的过程更有效.

也许明年我们可以重新设计服务器环境以允许更加理智的东西,例如URL重写(遗憾的是,这在Web应用程序的当前循环中似乎不可行).继承垃圾代码不是很好吗?

~William Riley-Land

Gul*_*zim 6

使用vbscript也更容易.

' This code creates a virtual directory in the default Web Site
' ---------------------------------------------------------------
' From the book "Windows Server Cookbook" by Robbie Allen
' ISBN: 0-596-00633-0
' ---------------------------------------------------------------

' ------ SCRIPT CONFIGURATION ------
strComputer = "rallen-w2k3"
strVdirName = "<VdirName>"  'e.g. employees
strVdirPath = "<Path>"      'e.g. D:\resumes
' ------ END CONFIGURATION ---------
set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1")
set objWebSite = objIIS.GetObject("IISWebVirtualDir","Root")
set objVdir = objWebSite.Create("IISWebVirtualDir",strVdirName)
objVdir.AccessRead = True
objVdir.Path = strVdirPath
objVdir.SetInfo
WScript.Echo "Successfully created virtual directory: " & objVdir.Name
Run Code Online (Sandbox Code Playgroud)


Tur*_*key 4

显然,您也可以通过 PowerShell 脚本执行此操作:

$objIIS = new-object System.DirectoryServices.DirectoryEntry("IIS://localhost/W3SVC/1/Root")
$children = $objIIS.psbase.children
$vDir = $children.add("NewFolder",$objIIS.psbase.SchemaClassName)
$vDir.psbase.CommitChanges()
$vDir.Path = "C:\Documents and Settings\blah\Desktop\new"
$vDir.defaultdoc = "Default.htm"
$vDir.psbase.CommitChanges()
Run Code Online (Sandbox Code Playgroud)

以下是文档:MSDN - 使用 IIS 编程管理