建立 WMI 的作用中伺服器頁面

Microsoft Active Server Pages (ASP) 可以藉由同時包含伺服器端和用戶端腳本來建立動態網頁。 ASP 頁面可能比用戶端 HTML 頁面快很多,因為大部分的工作都是在伺服器上完成。 您也可以使用 ASP 頁面,將遠端電腦的相關資訊顯示給未安裝 Windows Management Instrumentation (WMI) 的其他電腦。

下列程式說明如何搭配 ASP 使用 WMI。

若要搭配 ASP 使用 WMI

  1. 撰寫使用 WMI 的 ASP 頁面 (.asp) ,並將它放在網頁伺服器可存取的目錄中。

    您可以使用數種指令碼語言來開發 WMI 的 ASP 腳本,包括 VBScript。 您可以建構 ASP 頁面的 WMI 腳本部分,就像建構任何其他使用 WMI 的腳本一樣,但有一個重要限制:您無法在 ASP 頁面中使用非同步 WMI 方法。 另請注意, 對 GetObjectCreateObject 的任何呼叫都必須在伺服器端程式碼中。 如需詳細資訊,請參閱 WMI 的腳本 API

  2. 設定 Internet Information Services (IIS) 的驗證組態。 如需詳細資訊,請參閱 設定 WMI ASP 腳本的 IIS 5 和更新版本

  3. 停用匿名存取,並啟用 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>