WMI용 Active Server Pages 만들기
Microsoft ASP(Active Server Pages)는 서버 쪽 및 클라이언트 쪽 스크립트를 모두 포함하여 동적 웹 페이지를 만들 수 있습니다. ASP 페이지는 대부분의 작업이 서버에서 수행되므로 클라이언트 HTML 페이지보다 훨씬 빠릅니다. ASP 페이지를 사용하면 WMI(Windows Management Instrumentation)가 설치되지 않은 다른 컴퓨터에 원격 컴퓨터 관련 정보를 표시할 수도 있습니다.
다음 절차에서는 ASP를 WMI와 함께 사용하는 방법을 설명합니다.
ASP를 WMI와 함께 사용하는 방법
WMI를 사용하는 ASP 페이지(.asp)를 작성하고, 웹 서버에서 액세스할 수 있는 디렉터리에 배치합니다.
WMI용 ASP 스크립트는 VBScript를 비롯한 여러 스크립팅 언어로 개발할 수 있습니다. WMI를 사용하는 다른 스크립트를 생성하는 것과 동일한 방법을 이용해 ASP 페이지의 WMI 스크립트 부분을 생성할 수 있습니다. 한 가지 중요한 제한이 있는데, ASP 페이지 내에서는 비동기 WMI 메서드를 사용할 수 없습니다. 그리고 GetObject 또는 CreateObject에 대한 모든 호출은 서버 쪽 코드에 있어야 합니다. 자세한 내용은 WMI용 API 스크립팅을 참조하세요.
IIS(인터넷 정보 서비스)에 대한 인증 구성을 설정합니다. 자세한 내용은 WMI ASP 스크립팅에 대한 IIS 5 및 이후 버전 구성을 참조하세요.
익명 액세스를 사용하지 않도록 설정하고 ASP 파일에 대해 Windows 통합 인증을 사용하도록 설정합니다. 제어판의 관리 도구 폴더에 있는 IIS 스냅인을 사용하면 ASP 페이지에 대한 이러한 설정을 구성할 수 있습니다.
WMI ASP 페이지 예제
다음 예제에서는 ASP(Active Server Page) 내에서 WMI(Windows Management Instrumentation)를 사용하여, 이 스크립트가 실행되는 서버에 대한 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>