iisvdir.vbs iis虚拟目录管理脚本使用介绍
IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的。我们可以通过命令行的方式来执行iisvdir.vbs脚本
1)创建虚拟目录:
cscriptc:\windows\system32\iisvdir.vbs[/sserver][/uusername/ppassword]/create[virtualRoot]AliasPhysicalPath
2)删除虚拟目录:
1cscriptc:\windows\system32\iisvdir.vbs[/sserver][/uusername/ppassword]/delete[virtualRoot]/Alias
3)查看指定虚拟目录下的全部子目录:
1cscriptc:\windows\system32\iisvdir.vbs[/sserver][/uusername/ppassword]/queryvirtualRoot
应用到:WindowsServer2003,WindowsServer2003R2,WindowsServer2003withSP1,WindowsServer2003withSP2
Iisvdir.vbs:IIS虚拟目录脚本
在运行带有Internet信息服务(IIS)6.0的WindowsServer2003的服务器上创建和删除网站的虚拟目录。
要查看该命令语法,请单击以下命令:
•iisvdir/create
•iisvdir/delete
•iisvdir/query
iisvdir/create
在运行带有Internet信息服务(IIS)6.0的WindowsServer2003的服务器上创建网站的虚拟目录。
语法
iisvdir[.vbs]/createWebSite[/VirtualPath]NamePhysicalPath[/sComputer[/u[Domain\]User[/pPassword]]]
参数
WebSite
必需。指定网站的描述性名称或配置数据库路径。
VirtualPath
指定网站内的虚拟目录的路径。虚拟路径并不包含虚拟目录的名称。
此参数将虚拟目录放在网站的子目录下。默认情况下,虚拟目录将被添加到网站的根目录下。虚拟路径中的所有目录都必须已经在网站上存在。
Name
必需。指定虚拟目录的名称。可选择任何名称。
PhysicalPath
必需。指定虚拟目录的物理目录。
必须在本地计算机上指定一个路径,例如C:\Project\HTML。如果指定的路径不存在,则Iisvdir.vbs将创建该路径。
/sComputer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或IP地址。默认情况下,脚本在本地计算机上运行。
/u[Domain\]User
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上Administrators组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/pPassword
指定在/u参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上Administrators组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则DomainAdmins组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•WebSite(或WebSite/VirtualPath)Name和PhysicalPath参数必须始终按命令行上的指定顺序出现。否则,Iisvdir.vbs将无法正确解释信息。
•使用Iisvdir.vbs来创建新的虚拟目录时,仅指定创建站点并标识其内容所需的基本属性。Iisvdir.vbs使用的默认属性与IIS建立新的虚拟目录时所使用的默认属性相同,它符合继承属性的规则。要配置站点的更多高级属性,请使用IIS管理器。
•虚拟目录名(Name)不要求唯一。不过,当网站包括的虚拟目录和物理目录的名称相同时,将无法在Internet上看到物理目录的内容。
示例
下面的示例显示如何在特定的情况下使用iisvdir/create。
在网站的根目录下创建虚拟目录
下面的命令将在本地计算机的Finance网站的根目录下创建名为Insurance的虚拟目录。它将该目录与当前存储在C:\Projects\Insurance\Html目录下的内容相关联。
iisvdir/createFinanceInsurancec:\projects\insurance\html
作为响应,Iisvdir.vbs显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
Connectingtoserver...Done.VirtualPath =Finance/InsuranceROOT =c:\projects\insurance\htmlMetabasePath=W3SVC/1509060625/ROOT/Insurance
WebSite、Name和PhysicalPath参数必须按命令中的指定顺序出现。下面这个命令与前一个命令相同,只是参数顺序不同:
iisvdir/createc:\projects\insurance\htmlFinanceInsurance
该命令失败,错误解释了参数,Iisvdir.vbs将报告找不到名为“c:”的网站。
在网站路径中创建虚拟目录
下面的命令将在远程服务器Svr01的Finance网站上创建名为Updates的虚拟目录。它使用/s命令来标识服务器计算机,使用/u和/p命令通过用户管理员帐户权限运行Iisvdir.vbs。
该命令将新的虚拟目录创建为Finance/Insurance目录的子目录。该命令使用Finance网站的配置数据库路径W3SVC/1509060625来标识该网站。它通过将其附加到网站名称来指明虚拟路径Finance/Insurance。
最后,该命令将Updates目录与存储在远程计算机C:\Newstuff\Web中的内容相关联。
iisvdir/createW3SVC/1509060625/InsuranceUpdatesC:\Newstuff\Web/ssvr01/uAdmin01/pp@SSw#rD2
作为响应,Iisvdir.vbs显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
Connectingtoserver...Done.VirtualPath =Finance/Insurance/UpdatesROOT =C:\Newstuff\WebMetabasePath=W3SVC/1509060625/ROOT/Insurance/Updates
在此示例中,Finance网站及其Insurance子目录在发出命令前已在Svr01IIS服务器上存在。如果网站或其子目录不存在,则该命令可能将失败。
另外,Insurance子目录是一个虚拟目录。可使用Iisvdir.vbs来在实际目录或虚拟目录内创建虚拟路径。
创建虚拟目录以隐藏物理目录
此示例使用虚拟目录的非自然信号来隐藏物理目录的内容,这样在Internet或Intranet上将不会看到这些内容。该命令将创建虚拟目录,其名称与网站的同一虚拟路径中的物理目录的名称相同。这样Web用户将看不到物理目录的内容。
尽管此方法不保护物理目录的安全,但是它提供了一种保护隐私的防范措施。
下面的命令在Finance网站的根目录下创建了名为Personnel的虚拟目录。虚拟目录与包含了关于Finance部门人员的公用信息的物理目录D:\IIStest\Personnel相关。
iisvdir/createFinancePersonnelD:\IIStest\Personnel
作为响应,Iisvdir.vbs显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
Connectingtoserver...Done.VirtualPath =Finance/PersonnelROOT =D:\IIStest\PersonnelMetabasePath=W3SVC/1509060625/ROOT/Personnel
使用该命令后,站点将具有一个物理目录和名为Personnel的虚拟目录。访问Finance网站的用户将看到Personnel虚拟目录的内容。这些用户看不到Personnel物理目录的内容。
iisvdir/delete
在运行带有Internet信息服务(IIS)6.0的WindowsServer2003的服务器上删除网站的虚拟目录。
语法
iisvdir[.vbs]/deleteWebsite[/VirtualPath]/Name[/sComputer[/u[Domain\]User[/pPassword]]]
参数
WebSite
必需。指定网站的描述性名称或配置数据库路径。
VirtualPath
指定虚拟目录的路径。当虚拟目录不位于网站的根目录下,需要此参数。
Name
必需。指定虚拟目录的名称。
/sComputer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或IP地址。默认情况下,脚本在本地计算机上运行。
/u[Domain\]User
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上Administrators组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/pPassword
指定在/u参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上Administrators组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则DomainAdmins组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•不要使用Iisvdir.vbs来删除网站。如果这样做,则网站仍然会列出,但是它将被部分删除,而且运行不正常。要通过Iisvdir.vbs来删除网站,或者更正网站的不正确的删除,请使用Iisweb.vbs:IIS网站管理脚本。
示例
下面的示例显示了如何在特定的情况下使用iisvdir/delete。
删除虚拟目录
下面的命令将从本地服务器的Finance网站上删除Insurance虚拟目录。结果,Insurance目录及Insurance目录的所有实际和虚拟的子目录都将被删除。
iisvdir/deleteFinance/Insurance
作为响应,Iisvdir.vbs将显示下列消息,表示命令已成功执行。请注意Iisvdir.vbs不会在删除目录或其子目录之前要求确认。
WebdirectoryFinance/ROOT/InsurancehasbeenDELETED.
iisvdir/query
在运行带有Internet信息服务(IIS)6.0的WindowsServer2003的服务器上显示网站的虚拟目录。
语法
iisvdir/queryWebSite[/VirtualPath][/sComputer[/u[Domain\]User[/pPassword]]]
参数
WebSite
必需。指定网站的描述性名称或配置数据库路径。
VirtualPath
指定网站内目录的路径。该查询列出指定目录下的所有虚拟目录。如果不使用该参数,Iisvdir.vbs将列出网站根目录下的虚拟目录。
/sComputer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或IP地址。默认情况下,脚本在本地计算机上运行。
/u[Domain\]User
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上Administrators组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/pPassword
指定在/u参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上Administrators组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则DomainAdmins组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•该“查询”操作仅显示虚拟目录。不显示网站或路径中的物理目录。
•“查询”操作仅显示网站根目录或指定子目录下的虚拟目录。它不进行递归搜索。
示例
下面的示例显示如何在特定的情况下使用iisvdir/query。
显示网站的虚拟目录
下面的命令将显示Finance网站的根目录下的虚拟目录:
iisvdir/queryFinance
作为响应,Iisvdir.vbs将显示Finance根目录下的两个虚拟目录。请注意这些目录将在Finance根目录下出现,即使其物理位置不相关。
该显示不包括作为站点子目录的虚拟目录。查找子目录的过程将在下面的示例“显示虚拟子目录”中进行阐述。
Alias PhysicalRoot==============================================================================/Personnel D:\Corpdir\FinanceWeb\People/Insurance C:\Marketing\Insurance\HTMFiles
显示虚拟子目录
下面的命令将显示一些虚拟目录,这些虚拟目录是Finance网站上的Insurance虚拟目录的子目录。该命令将通过使用其虚拟目录路径来指定Insurance目录。
iisvdir/queryFinance\Insurance
该命令将显示Insurance虚拟目录的Current子目录。
Alias PhysicalRoot==============================================================================/Current C:\Insurance\Monthly\200204
注释
•Iisvdir.vbs可以执行IIS管理器中提供的相同操作。可以使用任意一种工具查看并管理虚拟目录。
•发出命令的计算机必须正在运行WindowsXP或WindowsServer2003操作系统。用户必须是命令所影响的计算机上的Administrators组成员。
•命令所影响的计算机必须是运行带有Internet信息服务(IIS)6.0的WindowsServer2003的服务器。
•连接到指定计算机上的IIS服务时,Iisvdir.vbs将显示“正在连接到服务器”消息。每次使用Iisback.vbs时,不管是在本地或远程计算机上运行该命令,都会出现该消息。
•使用引号括起包含空格的路径元素。仅括起带空格的元素,不包括整个路径。例如,应键入"DefaultWebSite"/IISAdmin,而非"DefaultWebSite/IISAdmin"。