Création de pages serveur active pour WMI

Les pages Microsoft Active Server (ASP) peuvent créer des pages web dynamiques en incluant les scripts côté serveur et côté client. Les pages ASP peuvent être beaucoup plus rapides que les pages HTML clientes, car la plupart du travail est effectuée sur le serveur. Vous pouvez également utiliser des pages ASP pour afficher des informations sur les ordinateurs distants vers d’autres ordinateurs qui n’ont pas Windows Gestion Instrumentation (WMI) installé.

La procédure suivante décrit comment utiliser WMI avec ASP.

Pour utiliser WMI avec ASP

  1. Écrivez une page ASP (.asp) qui utilise WMI et placez-la dans un répertoire accessible à votre serveur web.

    Les scripts ASP pour WMI peuvent être développés avec plusieurs langages de script, y compris VBScript. Vous pouvez construire la partie de script WMI d’une page ASP exactement comme vous construisez n’importe quel autre script qui utilise WMI, avec une restriction importante : vous ne pouvez pas utiliser de méthodes WMI asynchrones dans des pages ASP. Notez également que les appels à GetObject ou CreateObject doivent se trouver dans le code côté serveur. Pour plus d’informations, consultez l’API Scripting pour WMI.

  2. Configurez la configuration de l’authentification pour Internet Information Services (IIS). Pour plus d’informations, consultez Configuration d’IIS 5 et versions ultérieures pour le script ASP WMI.

  3. Désactivez l’accès anonyme et activez Windows l’authentification intégrée pour le fichier ASP. Vous pouvez configurer ces paramètres pour votre page ASP à l’aide du composant logiciel enfichable IIS situé dans le dossier Outils d’administration du Panneau de configuration.

Exemple de page ASP WMI

L’exemple suivant utilise Windows Management Instrumentation (WMI) dans une page de serveur active (ASP) pour afficher les paramètres d’adresse IP et de passerelle IP par défaut pour le serveur à partir duquel ce script est exécuté.

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