Criar páginas de Servidor Ativo para o WMI

O ASP (Microsoft Active Server Pages) pode criar páginas dinâmicas da Web ao incluir scripts do lado do servidor e do lado do cliente. As páginas ASP podem ser muito mais rápidas do que as páginas HTML do cliente, pois a maior parte do trabalho é feita no servidor. Você também pode usar as páginas ASP para exibir informações sobre computadores remotos para outros computadores que não têm o WMI (Instrumentação de Gerenciamento do Windows) instalado.

O procedimento a seguir descreve como usar o WMI com o ASP.

Para usar o WMI com o ASP

  1. Escreva uma página ASP (.asp) que usa o WMI e coloque-a em um diretório acessível ao servidor Web.

    Os scripts do ASP para WMI podem ser desenvolvidos com várias linguagens de script, incluindo VBScript. Você pode construir a parte do script do WMI de uma página ASP exatamente como você constrói qualquer outro script que use wmi, com uma restrição importante: você não pode usar métodos assíncronos do WMI em páginas ASP. Observe também que todas as chamadas para GetObject ou CreateObject devem estar no código do lado do servidor. Para obter mais informações, confira API de script para WMI.

  2. Defina a configuração de autenticação para IIS (Serviços de Informações da Internet). Para obter mais informações, confira Como configurar o IIS 5 e posterior para scripts ASP com WMI.

  3. Desabilite o acesso anônimo e habilite a Autenticação Integrada do Windows para o arquivo ASP. Você pode definir essas configurações para sua página ASP usando o snap-in do IIS localizado na pasta Ferramentas Administrativas do Painel de Controle.

Exemplo de página ASP do WMI

O exemplo a seguir usa o WMI (Instrumentação de Gerenciamento do Windows) em uma PÁGINA do Servidor Ativo (ASP) para exibir o endereço IP e as configurações de gateway de IP padrão para o servidor no qual esse script é executado.

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