Création de pages de serveur actif pour WMI

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

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

Pour utiliser WMI avec ASP

  1. Écrivez une page ASP (.asp) utilisant 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 utilisant WMI, avec une restriction importante : vous ne pouvez pas utiliser de méthodes WMI asynchrones dans les pages ASP. Notez également que tous les appels à GetObject ou CreateObject doivent se trouver dans le code côté serveur. Pour plus d’informations, consultez API de script pour WMI.

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

  3. Désactivez l’accès anonyme et activez l’authentification intégrée de Windows 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 ASP (Active Server Page) 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>