Создание активных серверных страниц для WMI

Страницы Microsoft Active Server (ASP) могут создавать динамические веб-страницы, включив как серверные, так и клиентские скрипты. Asp-страницы могут работать гораздо быстрее, чем клиентские HTML-страницы, так как большая часть работы выполняется на сервере. Страницы ASP также можно использовать для отображения сведений об удаленных компьютерах на других компьютерах, на которых не установлено инструментарий управления Windows (WMI).

В следующей процедуре описывается использование инструментария WMI с ASP.

Использование инструментария WMI с ASP

  1. Напишите ASP-страницу (ASP-страницу), которая использует WMI, и поместите ее в каталог, доступный для веб-сервера.

    Сценарии ASP для WMI можно разрабатывать с помощью нескольких языков сценариев, включая VBScript. Вы можете создать часть скрипта WMI asp-страницы точно так же, как и любой другой скрипт, использующий WMI, с одним важным ограничением: нельзя использовать асинхронные методы WMI на asp-страницах. Обратите внимание, что все вызовы GetObject или CreateObject должны находиться в серверном коде. Дополнительные сведения см. в статье Api сценариев для WMI.

  2. Настройка конфигурации проверки подлинности для служб IIS. Дополнительные сведения см. в разделе Настройка IIS 5 и более поздних версий для WMI ASP Scripting.

  3. Отключите анонимный доступ и включите встроенную проверку подлинности Windows для ASP-файла. Эти параметры для asp-страницы можно настроить с помощью оснастки IIS, расположенной в папке "Администрирование"панель управления.

Пример страницы WMI ASP

В следующем примере используется инструментарий управления Windows (WMI) на странице Active Server (ASP) для отображения 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>