Поделиться через


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

Microsoft Active Server Pages (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.

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

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

В следующем примере используется инструментарий управления 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>