iisvdir.vbs iis虚拟目录管理脚本使用介绍
iis管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的。我们可以通过命令行的方式来执行iisvdir.vbs脚本
1)创建虚拟目录:
cscript c:\windows\system32\iisvdir.vbs [/s server] [/u username /p password] /create [virtualroot] alias physicalpath
2)删除虚拟目录:
1cscript c:\windows\system32\iisvdir.vbs [/s server] [/u username /p password] /delete [virtualroot]/alias
3)查看指定虚拟目录下的全部子目录:
1cscript c:\windows\system32\iisvdir.vbs [/s server] [/u username /p password] /query virtualroot
应用到: windows server 2003, windows server 2003 r2, windows server 2003 with sp1, windows server 2003 with sp2
iisvdir.vbs:iis 虚拟目录脚本
在运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器上创建和删除网站的虚拟目录。
要查看该命令语法,请单击以下命令:
•iisvdir /create
•iisvdir /delete
•iisvdir /query
iisvdir /create
在运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器上创建网站的虚拟目录。
语法
iisvdir[.vbs] /create website[/virtualpath] name physicalpath [/scomputer [/u [domain\]user [/p password]]]
参数
website
必需。指定网站的描述性名称或配置数据库路径。
virtualpath
指定网站内的虚拟目录的路径。虚拟路径并不包含虚拟目录的名称。
此参数将虚拟目录放在网站的子目录下。默认情况下,虚拟目录将被添加到网站的根目录下。虚拟路径中的所有目录都必须已经在网站上存在。
name
必需。指定虚拟目录的名称。可选择任何名称。
physicalpath
必需。指定虚拟目录的物理目录。
必须在本地计算机上指定一个路径,例如 c:\project\html。如果指定的路径不存在,则 iisvdir.vbs 将创建该路径。
/s computer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或 ip 地址。默认情况下,脚本在本地计算机上运行。
/u [domain\]user
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上 administrators 组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/p password
指定在 /u 参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上 administrators 组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则 domain admins 组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•website(或 website/virtualpath)name 和 physicalpath 参数必须始终按命令行上的指定顺序出现。否则,iisvdir.vbs 将无法正确解释信息。
•使用 iisvdir.vbs 来创建新的虚拟目录时,仅指定创建站点并标识其内容所需的基本属性。iisvdir.vbs 使用的默认属性与 iis 建立新的虚拟目录时所使用的默认属性相同,它符合继承属性的规则。要配置站点的更多高级属性,请使用 iis 管理器。
•虚拟目录名 (name) 不要求唯一。不过,当网站包括的虚拟目录和物理目录的名称相同时,将无法在 internet 上看到物理目录的内容。
示例
下面的示例显示如何在特定的情况下使用 iisvdir /create。
在网站的根目录下创建虚拟目录
下面的命令将在本地计算机的 finance 网站的根目录下创建名为 insurance 的虚拟目录。它将该目录与当前存储在 c:\projects\insurance\html 目录下的内容相关联。
iisvdir /create finance insurance c:\projects\insurance\html
作为响应,iisvdir.vbs 显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
connecting to server ...done.virtual path = finance/insurance root = c:\projects\insurance\html metabase path = w3svc/1509060625/root/insurance
website、name 和 physicalpath 参数必须按命令中的指定顺序出现。下面这个命令与前一个命令相同,只是参数顺序不同:
iisvdir /create c:\projects\insurance\html finance insurance
该命令失败,错误解释了参数,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/s svr01/u admin01/p p@ssw#rd2
作为响应,iisvdir.vbs 显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
connecting to server ...done.virtual path = finance/insurance/updates root = c:\newstuff\web metabase path = w3svc/1509060625/root/insurance/updates
在此示例中,finance 网站及其 insurance 子目录在发出命令前已在 svr01 iis 服务器上存在。如果网站或其子目录不存在,则该命令可能将失败。
另外,insurance 子目录是一个虚拟目录。可使用 iisvdir.vbs 来在实际目录或虚拟目录内创建虚拟路径。
创建虚拟目录以隐藏物理目录
此示例使用虚拟目录的非自然信号来隐藏物理目录的内容,这样在 internet 或 intranet 上将不会看到这些内容。该命令将创建虚拟目录,其名称与网站的同一虚拟路径中的物理目录的名称相同。这样 web 用户将看不到物理目录的内容。
尽管此方法不保护物理目录的安全,但是它提供了一种保护隐私的防范措施。
下面的命令在 finance 网站的根目录下创建了名为 personnel 的虚拟目录。虚拟目录与包含了关于 finance 部门人员的公用信息的物理目录 d:\iistest\personnel 相关。
iisvdir /create finance personnel d:\iistest\personnel
作为响应,iisvdir.vbs 显示如下消息,表示命令已成功执行,同时显示新虚拟目录的基本属性:
connecting to server ...done.virtual path = finance/personnel root = d:\iistest\personnel metabase path = w3svc/1509060625/root/personnel
使用该命令后,站点将具有一个物理目录和名为 personnel 的虚拟目录。访问 finance 网站的用户将看到 personnel 虚拟目录的内容。这些用户看不到 personnel 物理目录的内容。
iisvdir /delete
在运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器上删除网站的虚拟目录。
语法
iisvdir[.vbs] /delete website[/virtualpath]/name[/s computer [/u [domain\]user [/p password]]]
参数
website
必需。指定网站的描述性名称或配置数据库路径。
virtualpath
指定虚拟目录的路径。当虚拟目录不位于网站的根目录下,需要此参数。
name
必需。指定虚拟目录的名称。
/s computer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或 ip 地址。默认情况下,脚本在本地计算机上运行。
/u [domain\]user
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上 administrators 组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/p password
指定在 /u 参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上 administrators 组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则 domain admins 组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•不要使用 iisvdir.vbs 来删除网站。如果这样做,则网站仍然会列出,但是它将被部分删除,而且运行不正常。要通过 iisvdir.vbs 来删除网站,或者更正网站的不正确的删除,请使用 iisweb.vbs:iis 网站管理脚本。
示例
下面的示例显示了如何在特定的情况下使用 iisvdir /delete。
删除虚拟目录
下面的命令将从本地服务器的 finance 网站上删除 insurance 虚拟目录。结果,insurance 目录及 insurance 目录的所有实际和虚拟的子目录都将被删除。
iisvdir /deletefinance/insurance
作为响应,iisvdir.vbs 将显示下列消息,表示命令已成功执行。请注意 iisvdir.vbs 不会在删除目录或其子目录之前要求确认。
web directory finance/root/insurance has been deleted.
iisvdir /query
在运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器上显示网站的虚拟目录。
语法
iisvdir /query website[/virtualpath] [/s computer [/u [domain\]user [/p password]]]
参数
website
必需。指定网站的描述性名称或配置数据库路径。
virtualpath
指定网站内目录的路径。该查询列出指定目录下的所有虚拟目录。如果不使用该参数,iisvdir.vbs 将列出网站根目录下的虚拟目录。
/s computer
在指定的远程计算机上运行脚本。键入不带反斜杠的计算机名或 ip 地址。默认情况下,脚本在本地计算机上运行。
/u [domain\]user
使用指定的用户帐户的权限运行脚本。该帐户必须是远程计算机上 administrators 组的成员。默认情况下,脚本使用本地计算机当前用户的权限运行。
/p password
指定在 /u 参数中指定的用户帐户的密码。如果您忽略该参数,则脚本会提示您输入密码且不显示所键入的文本。
/?
在命令提示符下显示帮助。
注释
•要执行该过程,你必须是本地计算机上 administrators 组的成员,或者你必须被委派了相应的权限。如果计算机已加入某个域,则 domain admins 组的成员可能会执行该过程。作为最安全的操作,请考虑使用“运行方式”执行此过程。
•该“查询”操作仅显示虚拟目录。不显示网站或路径中的物理目录。
•“查询”操作仅显示网站根目录或指定子目录下的虚拟目录。它不进行递归搜索。
示例
下面的示例显示如何在特定的情况下使用 iisvdir /query。
显示网站的虚拟目录
下面的命令将显示 finance 网站的根目录下的虚拟目录:
iisvdir /query finance
作为响应,iisvdir.vbs 将显示 finance 根目录下的两个虚拟目录。请注意这些目录将在 finance 根目录下出现,即使其物理位置不相关。
该显示不包括作为站点子目录的虚拟目录。查找子目录的过程将在下面的示例“显示虚拟子目录”中进行阐述。
alias physical root ============================================================================== /personnel d:\corpdir\financeweb\people /insurance c:\marketing\insurance\htmfiles
显示虚拟子目录
下面的命令将显示一些虚拟目录,这些虚拟目录是 finance 网站上的 insurance 虚拟目录的子目录。该命令将通过使用其虚拟目录路径来指定 insurance 目录。
iisvdir /query finance\insurance
该命令将显示 insurance 虚拟目录的 current 子目录。
alias physical root ============================================================================== /current c:\insurance\monthly\200204
注释
•iisvdir.vbs 可以执行 iis 管理器中提供的相同操作。可以使用任意一种工具查看并管理虚拟目录。
•发出命令的计算机必须正在运行 windows xp 或 windows server 2003 操作系统。用户必须是命令所影响的计算机上的 administrators 组成员。
•命令所影响的计算机必须是运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器。
•连接到指定计算机上的 iis 服务时,iisvdir.vbs 将显示“正在连接到服务器”消息。每次使用 iisback.vbs 时,不管是在本地或远程计算机上运行该命令,都会出现该消息。
•使用引号括起包含空格的路径元素。仅括起带空格的元素,不包括整个路径。例如,应键入 "default web site"/iisadmin,而非 "default web site/iisadmin"。