Creazione di pagine server attive per WMI

Microsoft Active Server Pages (ASP) può creare pagine Web dinamiche includendo script lato server e lato client. Le pagine ASP possono essere molto più veloci rispetto alle pagine HTML client perché la maggior parte delle operazioni viene eseguita nel server. È anche possibile utilizzare pagine ASP per visualizzare informazioni sui computer remoti in altri computer in cui non è installata Strumentazione gestione Windows (WMI).

La procedura seguente descrive come usare WMI con ASP.

Per usare WMI con ASP

  1. Scrivere una pagina ASP (con estensione asp) che usa WMI e inserirla in una directory accessibile al server Web.

    Gli script ASP per WMI possono essere sviluppati con diversi linguaggi di scripting, tra cui VBScript. È possibile costruire la parte dello script WMI di una pagina ASP esattamente come si costruisce qualsiasi altro script che usa WMI, con una restrizione importante: non è possibile usare metodi WMI asincroni all'interno di pagine ASP. Si noti anche che tutte le chiamate a GetObject o CreateObject devono trovarsi nel codice lato server. Per altre informazioni, vedere API di scripting per WMI.

  2. Configurare la configurazione dell'autenticazione per Internet Information Services (IIS). Per altre informazioni, vedere Configuring IIS 5 and Later for WMI ASP Scripting .For more information, see Configuring IIS 5 and Later for WMI ASP Scripting.

  3. Disabilitare l'accesso anonimo e abilitare l'autenticazione integrata di Windows per il file ASP. È possibile configurare queste impostazioni per la pagina ASP usando lo snap-in IIS disponibile nella cartella Strumenti di amministrazione del Pannello di controllo.

Esempio di pagina ASP WMI

L'esempio seguente usa Strumentazione gestione Windows (WMI) all'interno di una pagina ASP (Active Server Page) per visualizzare l'indirizzo IP e le impostazioni predefinite del gateway IP per il server da cui viene eseguito questo script.

<%@ 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>