다음을 통해 공유


ActiveScriptEventConsumer 클래스

ActiveScriptEventConsumer 클래스는 이벤트가 전달된 경우 임의의 스크립팅 언어로 미리 정의된 스크립트를 실행합니다. 이 클래스는 WMI에서 제공하는 표준 이벤트 소비자 중 하나입니다. 자세한 내용은 표준 소비자를 사용하여 이벤트 모니터링 및 응답을 참조하세요.

Mofcomp -n:root\<namespace> scrcons.mof

ScriptingStandardConsumerSetting의 단일 인스턴스에서 Timeout 또는 MaximumScripts 속성의 값을 설정하여 시스템에 있는 모든 ActiveScriptEventConsumer 인스턴스의 성능을 구성할 수 있습니다.

구문

[AMENDMENT]
class ActiveScriptEventConsumer : __EventConsumer
{
  uint8  CreatorSID[] = {1,1,0,0,0,0,0,5,18,0,0,0};
  uint32 KillTimeout = 0;
  string MachineName;
  uint32 MaximumQueueSize;
  string Name;
  string ScriptingEngine;
  string ScriptFileName;
  string ScriptText;
};

멤버

ActiveScriptEventConsumer 클래스에는 다음과 같은 유형의 멤버가 있습니다.

속성

ActiveScriptEventConsumer 클래스에는 다음과 같은 속성이 있습니다.

CreatorSID

데이터 형식: uint8 배열

액세스 형식: 읽기 전용

활성 스크립트 이벤트 소비자의 작성자를 고유하게 식별하는 SID(보안 식별자)를 나타내는 배열입니다. 이 속성은 __EventConsumer에서 상속됩니다.

KillTimeout

데이터 형식: uint32

액세스 형식: 읽기 전용

스크립트를 실행할 수 있는 시간(초)입니다. 0(기본값)이면 스크립트가 종료되지 않습니다.

MachineName

데이터 형식: 문자열

액세스 형식: 읽기 전용

WMI가 이벤트를 보낼 대상 컴퓨터의 이름입니다. Microsoft 표준 소비자의 규칙에 따라, 스크립트 소비자는 원격으로 실행할 수 없습니다. 타사 소비자도 이 속성을 사용할 수 있습니다. 이 속성은 __EventConsumer에서 상속됩니다.

MaximumQueueSize

데이터 형식: uint32

액세스 형식: 읽기 전용

활성 스크립트 이벤트 소비자의 최대 큐(바이트)입니다. 이 속성은 __EventConsumer에서 상속됩니다.

이름

데이터 형식: string

액세스 형식: 읽기/쓰기

한정자: Key

이벤트 소비자의 고유 식별자입니다. 소비자의 이름을 바꾸면 서로 다른 이름을 갖는 2개의 동일한 소비자가 생성됩니다.

ScriptFileName

데이터 형식: string

액세스 형식: 읽기 전용

스크립트 텍스트를 읽어 올 파일의 이름입니다. ScriptText 속성에 스크립트의 텍스트를 지정하는 대신 사용합니다. ScriptText 속성이 NULL이 아닌 경우 이 속성이 NULL이어야 합니다.

참고

ScriptFileName을 지정하는 경우 실행하려는 실행 파일을 확보하는 것이 중요합니다. 실행 파일이 안전한 위치에 있지 않거나 강력한 ACL(액세스 제어 목록)로 보호되지 않는 경우 누구나 실행 파일을 다른 실행 파일로 바꿀 수 있습니다. ACL에 대한 자세한 내용은 C++에서 새 개체에 대한 보안 설명자 만들기를 참조하세요.

ScriptingEngine

데이터 형식: string

액세스 형식: 읽기 전용

사용할 스크립팅 엔진의 이름입니다(예: “VBScript”). 이 속성은 NULL일 수 없습니다.

ScriptText

데이터 형식: string

액세스 형식: 읽기 전용

스크립팅 엔진에 알려진 언어로 표현되는 스크립트의 텍스트입니다. ScriptFileName 속성이 NULL이 아닌 경우 이 속성이 NULL이어야 합니다.

설명

이 클래스는 __EventConsumer 추상 클래스에서 파생됩니다. 이 클래스는 root\subscription 네임스페이스에 있습니다.

이벤트 소비자 인스턴스에 스크립트의 텍스트가 지정된 경우 스크립트는 스크립트 환경 변수 TargetEvent의 이벤트 인스턴스에 액세스할 수 있습니다.

스크립트는 LocalSystem 보안 컨텍스트에서 실행됩니다. 보안상의 이유로 로컬 시스템 관리자 또는 도메인 관리자만 스크립팅 소비자를 구성할 수 있습니다. 액세스 권한은 런타임 전까지 확인되지 않습니다. 소비자가 구성된 후에는 모든 사용자가 스크립트를 실행하도록 만드는 이벤트를 트리거할 수 있습니다.

스크립팅 엔진을 로드하지 못하거나 스크립트의 구문 분석 및 유효성 검사를 수행하지 못하는 것은 실패로 간주됩니다. 스크립트에서 오류 반환 코드가 반환되는 것과 시간 초과를 사용하여 스크립트를 종료하는 것도 실패로 간주됩니다.

ScriptTextScriptFileName 둘 중 하나는 NULL이 아니어야 합니다. 두 속성이 모두 NULL이거나 NULL이 아닌 경우 오류가 생성됩니다.

WMI가 서비스로서 실행되는 경우 ActiveScriptEventConsumer에 의해 실행되는 스크립트는 화면 출력을 생성하지 않습니다. MsgBox를 사용하는 스크립트는 실행되지만 화면에 정보를 표시하지 않습니다. WMI 서비스를 실행 파일로 실행하는 것은 지원되지 않으나, WMI에서는 MsgBox 함수를 사용하는 스크립트가 출력을 표시하거나 사용자 입력을 받도록 허용합니다. ActiveScriptEventConsumer는 WSH(Windows 스크립트 호스트)를 사용하지 않으므로 WScript 개체에서 제공하는 메서드는 사용할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\subscription
MOF
Scrcons.mof
DLL
Scrcons.exe

추가 정보

표준 소비자 클래스

이벤트를 기반으로 스크립트 실행

항상 이벤트 수신

논리 소비자 만들기

__EventConsumer

ScriptingStandardConsumerSetting