创建适用于 WMI 的 Active Server Pages
Microsoft Active Server Pages (ASP) 可以通过包含服务器端和客户端脚本来创建动态网页。 ASP 页面可能比客户端 HTML 页面快得多,因为大部分工作都是在服务器上完成的。 你还可以使用 ASP 页面向未安装 Windows Management Instrumentation (WMI) 的其他计算机显示有关远程计算机的信息。
以下过程说明如何将 WMI 与 ASP 配合使用。
将 WMI 与 ASP 配合使用
编写使用 WMI 的 ASP 页面 (.asp),并将其放置在 Web 服务器可访问的目录中。
可以使用多种脚本语言(包括 VBScript)开发适用于 WMI 的 ASP 脚本。 可以像构造任何其他使用 WMI 的脚本一样来构造 ASP 页面的 WMI 脚本部分,但有一个重要限制:无法在 ASP 页面中使用异步 WMI 方法。 另请注意,对 GetObject 或 CreateObject 的任何调用都必须在服务器端代码中进行。 有关详细信息,请参阅适用于 WMI 的脚本 API。
为 Internet Information Services (IIS) 设置身份验证配置。 有关详细信息,请参阅为 WMI ASP 脚本配置 IIS 5 及更高版本。
禁用匿名访问,并为 ASP 文件启用 Windows 集成身份验证。 可以使用“控制面板”的“管理工具”文件夹中的 IIS 管理单元为 ASP 页面配置这些设置。
WMI ASP 页面示例
以下示例在 Active Server Page (ASP) 中使用 Windows Management Instrumentation (WMI) 来显示执行此脚本的服务器的 IP 地址和默认 IP 网关设置。
<%@ LANGUAGE="VBSCRIPT"%>
<HTML>
<HEAD>
<TITLE>WMI ASP Example:
Read Default Gateway and IP Address information </TITLE>
</HEAD>
<BODY>
<%
On Error Resume Next
set IPConfigSet = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!root\cimv2").ExecQuery" _
& "("SELECT IPAddress, DefaultIPGateway "" _
& " FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")
%>
<%If Err <> 0 Then %>
<%if err.number = -2147217405 then%>
<p>Error 0x80041003: Access Denied:
Check permissions and file security for this ASP file.</p>
<%else%>
<p>Error description: <%=Err.description%>
error number <%=Err.number%></p>
<%end if%>
<%end if %>
<%for each IPConfig in IPConfigSet%>
<%if Not IsNull(IPConfig.IPAddress) then %>
<%for i=LBound(IPConfig.IPAddress)
to UBound(IPConfig.IPAddress)%>
<p>IP Address: <%=IPConfig.IPAddress(i)%></p>
<%next%>
<%end if%>
<%if Not IsNull(IPConfig.DefaultIPGateway) then %>
<%for i=LBound(IPConfig.DefaultIPGateway)
to UBound(IPConfig.DefaultIPGateway)%>
<p>Default IP Gateway:
<%=IPConfig.DefaultIPGateway(i)%></p>
<%next%>
<%end if%>
<%next%>
<%If Err <> 0 Then %>
<p>error description: <%=Err.description%>
error number <%=Err.number%></p>
<%end if %>
</BODY>
</HTML>