你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用 ASP.NET ValidatePath 模块扫描工具 (VPModuleScanner.js)

概要
Microsoft 已发布 Microsoft ASP.NET ValidatePath 模块扫描工具 (VPModuleScanner.js) 文件。VPModuleScanner.js 文件对计算机进行测试,以确定是否安装了 ASP.NET ValidatePath 模块。VPModuleScanner.js 报告被扫描系统是否符合下列任一条件:
  • 被扫描系统上安装了 ASP.NET ValidatatePath 模块。
  • 被扫描系统上没有安装 ASP.NET ValidatatePath 模块。
  • 下列原因之一会导致无法获得 ValidatePath 模块的安装状态:
    • 被扫描计算机上没有安装 Microsoft Internet 信息服务 (IIS)。
    • 被扫描计算机上没有安装 ASP.NET。
    • 扫描计算机时遇到错误。
将 VPModuleScanner.js 文件和 VPMultimachineWrapper.js 文件结合使用可以扫描多台计算机。有关如何查找 ASP.NET 的规范化问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
887289用来检查 ASP.NET 规范化问题的 HTTP 模块
有关如何确定 ASP.NET 版本的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
318785确定是否在 .NET Framework 中安装了 Service Pack

下载信息

可以从 Microsoft 下载中心下载以下文件:

下载立即下载 VPModuleScanner 程序包。

发布日期:2004 年 10 月 14 日

有关如何下载 Microsoft 支持文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性增强的服务器上,这些服务器有助于防止在未经授权的情况下对文件进行更改。

已知限制和问题

  • 必须具有管理权限才能以远程方式或本地方式运行此工具。
  • 不能指定凭据来运行此工具。但是,可以使用运行方式命令启动具有正确凭据的命令行会话。 有关运行方式命令的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    294676如何在 Windows 中运行程序时启用和使用“运行方式”命令
  • VPModuleScanner.js 使用 Active Directory 服务接口 (ADSI) 代理来连接远程元数据库。因此,运行此脚本的计算机上必须安装有 IIS Common Files 子组件。否则该工具会报告客户端计算机上没有安装 IIS。
  • 该工具依靠一个注册表项来确定内部脚本是否超时。因此,每台计算机上只能运行该工具的一个实例。
  • 只有在 IIS 6.0 版中,即使 ASP.NET 通过 Web 服务扩展列表被禁用,计算机也能报告 ValidatePath 模块的状态。
  • 如果 Microsoft .NET Framework 是在 IIS 之前安装的,则扫描工具将报告“ASP.NET 已停止”。在这种情况下,IIS 不具有 ASP.NET 映射,并且 ASP.NET 功能也无法使用。

所用技术

VPModuleScanner.js 使用以下技术,这些技术在公司或数据中心环境中可能被禁用或受到限制:

使用 ASP.NET ValidatePath 模块扫描工具

VPModuleScanner.js 扫描指定计算机上是否存在 ASP.NET ValidatePath 模块。在必须扫描多台计算机的企业环境中,可以同时使用 VPModuleScanner.js 和 VPMultiMachineWrapper.js。

VPMultiMachineWrapper.js

命令行开关

  • /l 指定包含要扫描的计算机列表的文件。计算机名称可以是 NetBIOS 名称,也可以是 IP 地址。每个条目占一行。
  • /d domainname limit 指定应扫描的 Windows 域,其中 domainname 是域的名称,limit 是条目的数量限制。以下示例命令将扫描 example.domain.com 域中的前 1,000 台计算机:
    VPMultiMachineWrapper.js /d example.domain.com 1000
    注意:域扫描只查找 CN=Computers 组织单位 (OU) 内的计算机帐户。这是一个内置 OU,用于存储 Active Directory 中的计算机帐户。但是,如果计算机帐户位于自定义 OU(如 OU=Web_Servers)中,脚本将找不到它们。
  • /t 指定内部脚本 (VPModuleScanner.js) 的超时值。VPModuleScanner.js 中的某些调用不会超时。这样就有必要将 VPMultimachineWrapper.js 与 VPModulescanner.js 封装在一起并引入超时值,以便管理员可以使用超时值来指定在 VPModulescanner.js 返回之前 VPMultimachineWrapper.js 需要等待多长时间。以下示例扫描 Computers.txt 文件中列出的计算机。内部脚本 (VPModulescanner.js) 在 30 秒后超时,同时一个超时项被添加到日志文件中:
    VPMultiMachineWrapper.JS /t 30 /l computers.txt
  • /o 指定日志文件的位置和名称。如果不指定此开关,该工具则将日志记录到脚本所在文件夹的 VPModuleScanner.log 中。指定的名称可以是文件名,也可以是您希望该文件所在位置的完整路径。该文件采用逗号分隔的 .csv 文件格式保存,以便于您使用 Microsoft Excel 或 LOGPARSER 将其打开。如果没有指定 /o,输出(VPModulescanner.log 和 VPModulescanner_trace.txt)将写入当前文件夹中。以下示例扫描 example.com 域中的前 100 台计算机,并将日志和跟踪输出写入系统变量 %temp% 指向的目录中:PVMScanner.js /d example.com 100 /o %temp%\vpoutput.txt
  • /? 显示帮助。

VPMultiMachineWrapper.js 从文本文件或通过 LDAP 查询从 Active Directory 中收集计算机列表。当 VPMultiMachineWrapper.js 具有完整的计算机列表时,它会为每台计算机启动一个称为 VPModuleScanner.js 的循环。

VPMultiMachineWrapper.js 将其调试消息记录到 VPMultiMachineWrapper_Trace.txt 文件中。如果您需要排除 VPMultiMachineWrapper.js 的故障,则可以使用该跟踪文件。

VPModulesScanner.js 将其调试消息记录到 VPModulesScanner_Trace.txt 文件中。如果您需要排除 VPModulesScanner.js 的故障,则可以使用该跟踪文件。

下面是 VPMultiMachineWrapper.js 如何启动 VPModuleScanner.js 的示例:
cscript //nologo //t:30 VPModuleScanner.js /o "c:\temp" Machine1
下表解释了使用的开关:
//t:30脚本引擎支持的超时值,本例中为 30 秒
/o “c:\temp”指定应使用的输出目录
Machine1指定要扫描的计算机

  • /install本地计算机上安装缓解模块
    注意/install 只能在本地使用。将 /install 与计算机名称一起使用会生成错误信息。您必须将 VPModule.msi 与 VPModuleScanner.js 置于同一目录中。
    VPModuleScanner.js 使用以下命令行安装 VPModule.MSI:
    MSIexec /install script_path\VPModule.msi /qn
  • /O 为扫描日志指定目录。如果不指定目录,报告将被写入 VPMultiMachineWrapper.log 中。
  • <machinename> 指定 VPModuleScanner.js 要扫描的远程计算机的名称。此开关不能与 /install 一起使用。
  • /? 显示帮助。

日志文件采用以下格式:
DATETIME,SERVERNAME,NETFX_VERSION_STRING,MACHINESTATUS,PATCHSTATUS
下列项目描述了这种格式的各个元素:
  • DATETIME 指定生成扫描项的日期和时间。
  • SERVERNAME 是被扫描系统的 NetBIOS 名称或 IP 地址。
  • NETFX_VERSION_STRING 是被扫描系统上安装的 .NET 运行时版本。如果找不到计算机,该项将设置为 Unknown
  • MACHINESTATUS 是计算机的状态。可能的计算机状态字符串有以下这些:
    • IIS installed IIS 和 .NET Framework 已安装,并且 ASP.NET 已启用。
    • IIS not installed on client computer 无法扫描该计算机(客户端),因为它没有安装 IIS Common Files 组件。
    • Error (errnumber:Error description) 尝试连接到 IIS 时或扫描过程中报告有错误。
    • Config file not found 脚本确定了远程 UNC 路径,但是无法连接到远程系统的管理员共享。例如,如果关闭远程计算机上的服务器服务,或者管理员共享被禁用,就会出现这种情况。
  • PATCHSTATUS 指定是否已安装更新。可能的更新状态字符串有以下这些:
    • Module not installed 计算机上没有安装 ValidatePath HTTP 模块。
    • Module installed 计算机上确实安装了 ValidatePath HTTP 模块。
    • Unknown status 无法获取更新状态。
以下是日志条目的示例:
  • 10-5-2004 12:00:05 PDT,SERVER1,Unknown, Unknown,Error(0x800A0046:Permission denied),Unknown status
    运行此脚本的用户在服务器上没有管理权限。
  • 10-5-2004 12:00:06 PDT,SERVER2,v1.1.4322,IIS installed,Module installed
    SERVER2 上安装了 VPmodule。
  • 10-5-2004 12:00:07 PDT,SERVER3,v1.1.4322,IIS installed,Module not installed
    SERVER3 上没有安装 VPmodule。
可以将 VPModuleScanner.js 用作 SMS 脚本。以下返回代码符合 SMS 标准:
  • 20000 系统上没有安装 VPmodule。
  • 20001 找不到 Machine.config。未安装 IIS。
  • 0 VPmodule 已安装。
  • <other> 出现上述代码不能说明的错误。
以下是日志文件中有关 MACHINESTATUS 的错误信息:
  • Error(0x800A01CE:The remote server machine does not exist or is unavailable) 被扫描计算机上没有安装 IIS,或者指定计算机未响应。
  • Error(0x800A0046:Permission denied) 执行扫描的用户在被扫描计算机上没有管理员权限。
  • Error(0x80070424:) 被扫描计算机上只安装了 IIS Common Files 组件。
  • Unknown,Error(0x80070422:) IIS 管理服务被禁用。
参考
有关 LOGPARSER 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
840671IIS 6.0 资源工具箱工具
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
887405如何使用 Windows Installer 和组策略在 Active Directory 域中部署 VPModule.msi
887404 如何使用 Systems Management Server 2003 部署 ValidatePath 模块
887787 安装 ASP.NET ValidatePath 模块后 Reporting Services 中可能出现错误信息
属性

文章 ID:887290 - 上次审阅时间:12/03/2007 18:51:35 - 修订版本: 2.4

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0 Service Pack 2, Microsoft .NET Framework 1.0 Service Pack 3, Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.1 Service Pack 1, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 1, Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2

  • kbsecurity atdownload KB887290
反馈
'meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">