Win32_Service 클래스

Win32_ServiceWMI 클래스Windows를 실행하는 컴퓨터 시스템의 서비스를 나타냅니다.

다음 구문은 MOF(Managed Object Format) 코드를 단순화한 것으로 상속된 속성이 모두 포함되어 있습니다. 속성 및 메서드는 MOF 순서가 아닌 알파벳순입니다.

구문

[Dynamic, Provider("CIMWin32"), SupportsUpdate, UUID("{8502C4D9-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("Services"), AMENDMENT]
class Win32_Service : Win32_BaseService
{
  boolean  AcceptPause;
  boolean  AcceptStop;
  string   Caption;
  uint32   CheckPoint;
  string   CreationClassName;
  boolean  DelayedAutoStart;
  string   Description;
  boolean  DesktopInteract;
  string   DisplayName;
  string   ErrorControl;
  uint32   ExitCode;
  datetime InstallDate;
  string   Name;
  string   PathName;
  uint32   ProcessId;
  uint32   ServiceSpecificExitCode;
  string   ServiceType;
  boolean  Started;
  string   StartMode;
  string   StartName;
  string   State;
  string   Status;
  string   SystemCreationClassName;
  string   SystemName;
  uint32   TagId;
  uint32   WaitHint;
};

멤버

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

메서드

Win32_Service 클래스에는 이러한 메서드가 있습니다.

메서드 설명
변경 서비스를 수정합니다.
ChangeStartMode 서비스의 시작 모드를 수정합니다.
만들기 새 서비스를 만듭니다.
Delete 기존 서비스를 삭제합니다.
GetSecurityDescriptor 서비스에 대한 액세스를 제어하는 보안 설명자를 반환합니다.
InterrogateService 서비스가 서비스 관리자에게 상태를 업데이트하도록 요청합니다.
PauseService 일시 중지된 상태로 서비스를 배치하려고 시도합니다.
ResumeService 서비스를 다시 시작된 상태로 배치하려고 시도합니다.
SetSecurityDescriptor 서비스에 대한 액세스를 제어하는 업데이트된 버전의 보안 설명자를 작성합니다.
StartService 서비스를 시작 상태로 전환하려고 시도합니다.
StopService 서비스를 중지된 상태로 배치합니다.
UserControlService 사용자 정의 제어 코드를 서비스에 보내려고 시도합니다.

 

속성

Win32_Service 클래스에는 이러한 속성이 있습니다.

AcceptPause

데이터 형식: boolean

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_PAUSE_CONTINUE"), DisplayName("서비스 일시 중지 허용")

서비스를 일시 중지할 수 있는지 여부를 나타냅니다.

이 속성은 Win32_BaseService 상속됩니다.

AcceptStop

데이터 형식: boolean

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_STOP"), DisplayName("Service Accepts Stop")

서비스를 중지할 수 있는지 여부를 나타냅니다.

이 속성은 Win32_BaseService 상속됩니다.

캡션

데이터 형식: string

액세스 형식: 읽기 전용

한정자: MaxLen(64), DisplayName("Caption")

한 줄 문자열인 서비스에 대한 간단한 설명입니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

검사점

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwCheckPoint"), DisplayName("Check Point Count")

서비스가 주기적으로 증가하여 긴 시작, 중지, 일시 중지 또는 계속 작업 중에 진행 상황을 보고하는 값입니다. 예를 들어 서비스는 시작할 때 초기화의 각 단계를 완료할 때 이 값을 증가합니다. 서비스에서 작업을 호출하는 사용자 인터페이스 프로그램은 이 값을 사용하여 긴 작업 중에 서비스의 진행률을 추적합니다. 이 값은 유효하지 않으며 서비스에 시작, 중지, 일시 중지 또는 계속 작업이 보류 중인 경우 0이어야 합니다.

CreationClassName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: CIM_Key, DisplayName("클래스 이름")

인스턴스를 만드는 데 사용되는 상속 체인에 표시할 첫 번째 구체적인 클래스의 이름입니다. 클래스의 다른 키 속성과 함께 사용할 경우 이 속성을 사용하면 이 클래스의 모든 인스턴스와 해당 서브클래스를 고유하게 식별할 수 있습니다.

이 속성은 CIM_Service 상속됩니다.

DelayedAutoStart

데이터 형식: boolean

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_DELAYED_AUTO_START_INFO|fDelayedAutostart"), DisplayName("지연된 자동 시작")

True이면 다른 자동 시작 서비스가 시작된 후 서비스가 시작되고 짧은 지연이 추가됩니다.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008 및 Windows Vista: 이 속성은 Windows Server 2016 및 Windows 10 이전에 지원되지 않습니다.

설명

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: DisplayName ("Description")

개체에 대한 설명입니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

DesktopInteract

데이터 형식: boolean

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"), DisplayName("데스크톱과 상호 작용")

서비스가 데스크톱에서 창을 만들거나 통신할 수 있는지 여부를 나타내므로 사용자와 어떤 식으로든 상호 작용할 수 있습니다. 대화형 서비스는 로컬 시스템 계정으로 실행되어야 합니다. 대부분의 서비스는 대화형이 아닙니다. 즉, 어떤 방식으로든 사용자와 통신하지 않습니다.

이 속성은 Win32_BaseService 상속됩니다.

DisplayName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|lpDisplayName"), DisplayName("표시 이름")

서비스 스냅인에서 볼 수 있는 서비스의 이름입니다. 이 문자열의 최대 길이는 256자입니다. 표시 이름 및 서비스 이름(레지스트리에 저장됨)이 항상 동일하지는 않습니다. 예를 들어 DHCP 클라이언트 서비스에는 서비스 이름 Dhcp가 있지만 표시 이름 DHCP 클라이언트가 있습니다. 이름은 서비스 제어 관리자에서 대/소문자를 유지합니다. 그러나 DisplayName 비교는 항상 대/소문자를 구분하지 않습니다.

제약 조건: Name 속성과 동일한 값을 허용합니다.

예: "Atdisk"

이 속성은 Win32_BaseService 상속됩니다.

ErrorControl

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|dwErrorControl"), DisplayName("시작 실패의 심각도")

시작 중에 이 서비스를 시작하지 못하는 경우 오류의 심각도입니다. 이 값은 오류가 발생할 경우 시작 프로그램에서 수행한 작업을 나타냅니다. 모든 오류는 컴퓨터 시스템에 기록됩니다.

무시 ("Ignore")

사용자에게 알림이 표시되지 않습니다.

Normal ("Normal")

사용자에게 알림이 표시됩니다. 일반적으로 사용자에게 문제를 알리는 메시지 상자가 표시됩니다.

심각 ("심각")

마지막으로 알려진 정상 구성으로 시스템을 다시 시작합니다.

Critical ("Critical")

시스템이 적절한 구성으로 다시 시작하려고 시도합니다. 서비스가 두 번째로 시작되지 않으면 시작이 실패합니다.

알 수 없음 ("알 수 없음")

오류의 심각도를 알 수 없습니다.

이 속성은 Win32_BaseService 상속됩니다.

Exitcode

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwWin32ExitCode"), DisplayName("종료 코드")

서비스를 시작하거나 중지할 때 발생한 오류를 정의하는 Windows 오류 코드입니다. 이 속성은 오류가 이 클래스가 나타내는 서비스에 고유하고 오류에 대한 정보를 ServiceSpecificExitCode 속성에서 사용할 수 있는 경우 ERROR_SERVICE_SPECIFIC_ERROR(1066)로 설정됩니다. 서비스는 이 값을 실행할 때와 정상 종료 시 다시 NO_ERROR 설정합니다.

이 속성은 Win32_BaseService 상속됩니다.

InstallDate

데이터 형식: datetime

액세스 형식: 읽기 전용

한정자: MappingStrings ("MIF. DMTF|ComponentID|001.5"), DisplayName ("설치 날짜")

Date 개체가 설치됩니다. 이 속성에는 개체가 설치되었음을 나타내는 값이 필요하지 않습니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

이름

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: Key

관리되는 기능의 표시를 제공하는 서비스의 고유 식별자입니다. 이 기능은 개체의 Description 속성에 설명되어 있습니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

경로

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|lpBinaryPathName"), DisplayName("파일 경로 이름")

서비스를 구현하는 서비스 이진 파일에 대한 정규화된 경로입니다.

예: "\SystemRoot\System32\drivers\afd.sys"

이 속성은 Win32_BaseService 상속됩니다.

ProcessId

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS_PROCESS|dwProcessId"), DisplayName("프로세스 ID")

서비스의 프로세스 식별자입니다.

예: 324

ServiceSpecificExitCode

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwServiceSpecificExitCode"), DisplayName("서버별 종료 코드")

서비스가 시작 또는 중지되는 동안 발생하는 오류에 대한 서비스별 오류 코드입니다. 종료 코드는 이 클래스가 나타내는 서비스에 의해 정의됩니다. 이 값은 ExitCode 속성 값이 ERROR_SERVICE_SPECIFIC_ERROR 경우에만 설정됩니다(1066).

이 속성은 Win32_BaseService 상속됩니다.

ServiceType

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|dwServiceType"), DisplayName("서비스 유형")

호출 프로세스에 제공되는 서비스 유형입니다.

값은 다음과 같습니다.

커널 드라이버 ("커널 드라이버")

파일 시스템 드라이버 ("파일 시스템 드라이버")

어댑터 ("어댑터")

인식기 드라이버 ("인식기 드라이버")

자체 프로세스 ("자체 프로세스")

프로세스 공유("프로세스 공유")

대화형 프로세스 ("대화형 프로세스")

이 속성은 Win32_BaseService 상속됩니다.

시작됨

데이터 형식: boolean

액세스 형식: 읽기 전용

한정자: DisplayName ("Started")

서비스가 시작되었는지 여부를 나타냅니다.

이 속성은 CIM_Service 상속됩니다.

StartMode

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: DisplayName ("시작 모드")

Windows 기본 서비스의 시작 모드입니다.

부팅 ("부팅")

운영 체제 로더에서 시작한 디바이스 드라이버입니다(드라이버 서비스에만 유효).

시스템 ("시스템")

운영 체제 초기화 프로세스에서 시작된 디바이스 드라이버입니다. 이 값은 드라이버 서비스에만 유효합니다.

Auto ("Auto")

시스템 시작 중 서비스 제어 관리자에 의해 자동으로 서비스가 시작됩니다. 자동 서비스는 사용자가 로그온하지 않더라도 시작됩니다.

수동 ("수동")

프로세스가 StartService 메서드를 호출할 때 서비스 제어 관리자가 시작할 서비스입니다. 이러한 서비스는 사용자가 로그온하여 시작하지 않는 한 시작되지 않습니다.

사용 안 함 ("사용 안 함")

StartMode가 자동 또는 수동으로 변경될 때까지 시작할 수 없는 서비스입니다.

이 속성은 CIM_Service 상속됩니다.

StartName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|lpServiceStartName"), DisplayName("시작 계정 이름")

서비스가 실행되는 계정 이름입니다. 서비스 유형에 따라 계정 이름은 "Do기본Name\Username" 또는 UPN 형식("Username@Do기본Name") 형식일 수 있습니다. 서비스 프로세스는 실행 시 이러한 두 가지 양식 중 하나를 사용하여 기록됩니다. 계정이 기본 제공 do기본 속하는 경우 ".\Username"을 지정할 수 있습니다. 커널 또는 시스템 수준 드라이버 의 경우 StartName 에는 I/O 시스템에서 디바이스 드라이버를 로드하는 데 사용하는 드라이버 개체 이름(즉, "\FileSystem\Rdr" 또는 "\Driver\Xns")이 포함됩니다. 또한 NULL을 지정하면 드라이버는 서비스 이름에 따라 I/O 시스템에서 만든 기본 개체 이름으로 실행됩니다.

예: "DWDOM\관리"

이 속성은 Win32_BaseService 상속됩니다.

State(상태)

데이터 형식: 문자열

액세스 형식: 읽기/쓰기

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwCurrentState "), DisplayName("State")

기본 서비스의 현재 상태입니다.

값은 다음과 같습니다.

중지됨 ("중지됨")

시작 보류 중 ("시작 보류 중")

보류 중 중지("보류 중 중지")

실행 중("실행 중")

계속 보류 중 ("계속 보류 중")

일시 중지 보류 중 ("일시 중지 보류 중")

일시 중지됨 ("일시 중지됨")

알 수 없음 ("알 수 없음")

Windows Server 2008 및 Windows Vista: 이 속성은 Windows 7 및 Windows Server 2008 R2 이전에 읽기 전용입니다.

이 속성은 Win32_BaseService 상속됩니다.

상태

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: MaxLen(10), DisplayName("Status")

개체의 현재 상태. 다양한 운영 및 비 운용 상태 정의할 수 있습니다. 작동 상태 "OK", "Degraded" 및 "Pred Fail"(SMART 지원 하드 디스크 드라이브와 같은 요소가 제대로 작동하지만 가까운 장래에 오류를 예측할 수 있음)이 포함됩니다. 비 운용성 상태에는 "오류", "시작 중", "중지" 및 "서비스"가 포함됩니다. 후자의 "서비스"는 디스크를 다시 미러, 사용자 권한 목록의 다시 로드 또는 기타 관리 작업 중에 적용할 수 있습니다. 이러한 모든 작업이 온라인 상태인 것은 아니지만 관리되는 요소는 "OK"도 아니고 다른 상태 중 하나도 아닙니다.

이 속성은 CIM_ManagedSystemElement 상속됩니다.

값은 다음과 같습니다.

확인 ("확인")

오류 ("오류")

성능이 저하됨 ("Degraded")

알 수 없음 ("알 수 없음")

사전 실패 ("사전 실패")

시작 ("시작")

중지 ("중지")

서비스 ("서비스")

스트레스("스트레스")

NonRecover ("NonRecover")

연락처 없음("연락처 없음")

로스트 커밋 ("로스트 커밋")

SystemCreationClassName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_System.CreationClassName"), CIM_Key, DisplayName("시스템 클래스 이름")

이 서비스를 호스트하는 시스템의 이름을 입력합니다.

이 속성은 CIM_Service 상속됩니다.

SystemName

데이터 형식: 문자열

액세스 형식: 읽기 전용

한정자: 전파됨("CIM_System.Name"), CIM_Key, DisplayName("시스템 이름")

이 서비스를 호스팅하는 시스템의 이름입니다.

이 속성은 CIM_Service 상속됩니다.

TagId

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|QUERY_SERVICE_CONFIG|dwTagId"), DisplayName("태그 ID")

그룹의 이 서비스에 대한 고유 태그 값입니다. 값이 0이면 서비스에 태그가 없음을 나타냅니다. 태그는 다음 위치에 있는 레지스트리에서 태그 순서 벡터를 지정하여 부하 순서 그룹 내에서 서비스 시작을 정렬하는 데 사용할 수 있습니다.

\HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\    GroupOrderList

태그는 부팅 또는 시스템 시작 모드가 있는 커널 드라이버 및 파일 시스템 드라이버 시작 유형 서비스에 대해서만 평가됩니다.

이 속성은 Win32_BaseService 상속됩니다.

WaitHint

데이터 형식: uint32

액세스 형식: 읽기 전용

한정자: MappingStrings("Win32API|서비스 구조|SERVICE_STATUS|dwWaitHint"), DisplayName("예상 대기 시간")

보류 중인 시작, 중지, 일시 중지 또는 계속 작업에 필요한 예상 시간(밀리초)입니다. 지정된 시간이 경과한 후 서비스는 증분된 CheckPoint 값 또는 CurrentState 변경으로 SetServiceStatus 메서드를 다음으로 호출합니다. WaitHint에서 지정한 시간이 지나고 CheckPoint가 증가하지 않았거나 CurrentState가 변경되지 않은 경우 서비스 제어 관리자 또는 서비스 제어 프로그램에서 오류가 발생한 것으로 가정합니다.

설명

Win32_Service 클래스는 Win32_BaseService 파생됩니다.

특정 컴퓨터를 관리하는 방법은 컴퓨터가 수행하는 역할에 따라 크게 달라집니다. 예를 들어 일반적으로 DHCP 서버와는 다른 DNS 서버의 측면을 모니터링합니다. 특정 컴퓨터가 데이터베이스 서버, 전자 메일 서버 또는 멀티미디어 서버인지를 알 수 있는 단일 속성은 없지만 컴퓨터에 설치된 서비스를 식별하여 컴퓨터가 수행하는 역할을 식별할 수 있는 경우가 많습니다.

대규모 조직에서는 전자 메일과 같은 주요 서비스 중 하나만 단일 컴퓨터에 설치될 가능성이 높습니다. 메일 서버가 Microsoft® Windows Media® 기술 플레이어 파일의 서버로도 수행하는 것은 드문 일입니다. 이 때문에 컴퓨터에 설치된 서비스를 식별하면 네트워크에서 컴퓨터의 역할을 식별하는 데 도움이 될 수 있습니다. Microsoft® Exchange Server 서비스가 설치되어 있고 컴퓨터에서 실행되는 경우 일반적으로 이 컴퓨터가 메일 서버로 작동한다고 가정해도 안전합니다.

WMI Win32_Service 클래스를 사용하여 컴퓨터에 설치된 서비스를 열거할 수 있습니다. 또한 이 클래스를 사용하여 해당 서비스가 현재 실행 중인지 여부를 확인하고 해당 서비스에 대한 다른 필수 정보 및 구성 방법을 반환할 수 있습니다.

서비스 애플리케이션은 SCM(서비스 제어 관리자)의 인터페이스 규칙을 준수하며, 시스템 시작 시 서비스 제어판 유틸리티를 통해 또는 Windows API에 포함된 서비스 기능을 사용하는 애플리케이션에서 자동으로 시작할 수 있습니다. 컴퓨터에 로그온한 사용자가 없는 경우 서비스를 시작할 수 있습니다.

원격 컴퓨터에서 연결하는 사용자는 이 클래스를 열거할 수 있도록 SC_MANAGER_CONNECT 권한이 있어야 합니다. 자세한 내용은 서비스 보안 및 액세스 권한을 참조 하세요.

예제

다음 VBScript 코드 샘플은 현재 설치된 모든 서비스를 표시합니다.

for each Service in _ 
    GetObject("winmgmts:").InstancesOf ("Win32_Service")
 WScript.Echo ""
 WScript.Echo Service.Name

 description = Service.Description 
 if IsNull(description) then description = "<No description>"

 pathName = Service.PathName
 if IsNull(pathName) then pathName = "<No path>"

 startName = Service.StartName
 if IsNull(startName) then startName = "<None>"

 WScript.Echo "  Description:  ", description
 WScript.Echo "  Executable:   ", pathName
 WScript.Echo "  Status:       ", Service.Status
 WScript.Echo "  State:        ", Service.State
 WScript.Echo "  Start Mode:   ", Service.StartMode
 Wscript.Echo "  Start Name:   ", startName
next

다음 VBScript 코드 샘플에서는 지정된 컴퓨터에서 일시 중지, 실행 및 중지된 서비스에 대해 설명합니다.

On Error Resume Next
 StateString = "Paused,Running,Stopped"
 StateArray = Split(StateString, ",", -1, 1) 
 ComputerName = InputBox("Enter the computer name", "List Service", "localhost")

 For x = 0 to Ubound (StateArray)
 Set Services = GetObject("winmgmts:\\" & ComputerName & "\Root\CIMv2").ExecQuery("SELECT * FROM Win32_Service where State='" & StateArray(x) & "'")
 
 For Each Service in Services
  SList = SList & Service.Name & VBlf 
 Next

 WScript.Echo StateArray(x) & " Services: " & VBlf & SList
 SList = ""

Next

다음 Perl 스크립트는 Win32_Service 인스턴스에서 실행 중인 서비스 목록을 검색하는 방법을 보여 줍니다.

use strict;
use Win32::OLE;

my ( $ServiceSet, $Service );

eval { $ServiceSet = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\Root\\CIMv2")->
 ExecQuery("SELECT * FROM Win32_Service WHERE State=\"Running\""); };
unless ($@)
{
 print "\n";
 foreach $Service (in $ServiceSet) 
 {
  print $Service->{Name}, "\n";
  if( $Service->{Description} ) 
   {
    print "  $Service->{Description}\n";
   }
  else
   {
    print "  <No description>\n";
   }
  print "  Process ID: ", $Service->{ProcessId}, "\n";
  print "  Start Mode: ", $Service->{StartMode}, "\n";
  print "\n";
 }
}
else
{
 print STDERR Win32::OLE->LastError, "\n";
}

다음 c# 샘플에서는 Microsoft.Management.Infrastructure를 사용하여 로컬 컴퓨터에서 실행 중인 모든 서비스를 검색합니다.

static void QueryInstanceFunc()
        {
 
            CimSession session = CimSession.Create("localHost");
            IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_Service");

            foreach (CimInstance cimObj in queryInstance)
            {
                Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString());
                Console.WriteLine(cimObj.CimInstanceProperties["State"].ToString());
                Console.WriteLine(cimObj.CimInstanceProperties["Status"].ToString());
                
                //Console.WriteLine(cimObj.CimInstanceProperties["NetworkAddress"].ToString());
                Console.WriteLine();

            }

            Console.ReadLine();
        }
    

다음 C# 코드 샘플에서는 System.Management 네임스페이스를 사용하여 로컬 컴퓨터에서 실행 중인 모든 서비스를 검색합니다.

참고 항목

System.Management 에는 WMI에 액세스하는 데 사용되는 원래 클래스가 포함되어 있지만 속도가 느리고 일반적으로 크기가 조정 되지 않고 Microsoft.Management.Infrastructure 에 해당합니다.

 

using System.Management;
...
        static void oldSchoolQueryInstanceFunc()
        {

            ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Service");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);


            ManagementObjectCollection queryCollection = searcher.Get();
            foreach (ManagementObject m in queryCollection)
            {
                Console.WriteLine("ServiceName : {0}", m["Name"]);
                Console.WriteLine("State : {0}", m["State"]);
                Console.WriteLine("Status : {0}", m["Status"]);
                Console.WriteLine();
            }

            Console.ReadLine();


        }

요구 사항

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

참고 항목

Win32_BaseService

운영 체제 클래스

WMI 작업: 서비스