欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

iisvdir.vbs iis虚拟目录管理脚本使用介绍

程序员文章站 2022-06-25 09:05:42
iis管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的。我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscrip...

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"。