建立 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. 為 IIS) 設定Internet Information Services (驗證組態。 如需詳細資訊,請參閱 設定 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>