Eventlogs 정보
간단한 설명
Windows PowerShell "Windows PowerShell"라는 Windows 이벤트 로그를 만들어 Windows PowerShell 이벤트를 기록합니다. 이벤트 뷰어 또는 cmdlet과 같은 이벤트를 가져오는 cmdlet을 사용하여 이 로그를 Get-EventLog
볼 수 있습니다. 기본적으로 Windows PowerShell 엔진 및 공급자 이벤트는 이벤트 로그에 기록되지만 이벤트 로그 기본 설정 변수를 사용하여 이벤트 로그를 사용자 지정할 수 있습니다. 예를 들어 Windows PowerShell 명령에 대한 이벤트를 추가할 수 있습니다.
자세한 설명
Windows PowerShell 이벤트 로그는 프로그램 엔진 시작 및 중지, Windows PowerShell 공급자 시작 및 중지와 같은 Windows PowerShell 작업에 대한 세부 정보를 기록합니다. Windows PowerShell 명령에 대한 세부 정보를 기록할 수도 있습니다.
Windows PowerShell 이벤트 로그는 애플리케이션 및 서비스 로그 그룹에 있습니다. Windows PowerShell 로그는 Windows Eventing 기술을 사용하지 않는 클래식 이벤트 로그입니다. 로그를 보려면 와 같은 클래식 이벤트 로그용으로 Get-EventLog
설계된 cmdlet을 사용합니다.
Windows PowerShell 이벤트 로그 보기
이벤트 뷰어 또는 및 Get-WmiObject
cmdlet을 사용하여 Windows PowerShell 이벤트 로그를 Get-EventLog
볼 수 있습니다. Windows PowerShell 로그의 내용을 보려면 다음을 입력합니다.
Get-EventLog -LogName "Windows PowerShell"
이벤트 및 해당 속성을 검사하려면 cmdlet, Group-Object
cmdlet 및 동사(cmdlet)를 포함하는 Format
cmdlet을 Format
사용합니다Sort-Object
.
예를 들어 이벤트 ID별로 그룹화된 로그의 이벤트를 보려면 다음을 입력합니다.
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
또는 다음을 입력합니다.
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
모든 클래식 이벤트 로그를 보려면 다음을 입력합니다.
Get-EventLog -List
cmdlet을 Get-WmiObject
사용하여 이벤트 관련 WMI(Windows Management Instrumentation) 클래스를 사용하여 이벤트 로그를 검사할 수도 있습니다. 예를 들어 이벤트 로그 파일의 모든 속성을 보려면 다음을 입력합니다.
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Win32 이벤트 관련 WMI 클래스를 찾으려면 다음을 입력합니다.
Get-WmiObject -List | where Name -Like "win32*event*"
자세한 내용은 "Get-Help Get-EventLog" 및 "Get-Help Get-WmiObject"를 입력합니다.
Windows PowerShell 이벤트 로그에 대한 이벤트 선택
이벤트 로그 기본 설정 변수를 사용하여 Windows PowerShell 이벤트 로그에 기록되는 이벤트를 확인할 수 있습니다.
6개의 이벤트 로그 기본 설정 변수가 있습니다. 세 개의 로깅 구성 요소 각각에 대해 엔진(Windows PowerShell 프로그램), 공급자 및 명령의 두 변수입니다. LifeCycleEvent 변수는 일반 시작 및 중지 이벤트를 기록합니다. 상태 변수는 오류 이벤트를 기록합니다.
다음 표에서는 이벤트 로그 기본 설정 변수를 나열합니다.
변수 | Description |
---|---|
$LogEngineLifeCycleEvent | PowerShell의 시작 및 중지를 기록합니다. |
$LogEngineHealthEvent | PowerShell 프로그램 오류 기록 |
$LogProviderLifeCycleEvent | PowerShell 공급자의 시작 및 중지를 기록합니다. |
$LogProviderHealthEvent | PowerShell 공급자 오류 기록 |
$LogCommandLifeCycleEvent | 명령의 시작 및 완료를 기록합니다. |
$LogCommandHealthEvent | 로그 명령 오류 |
(Windows PowerShell 공급자에 대한 자세한 내용은 about_Providers 참조하세요.
기본적으로 다음 이벤트 유형만 사용하도록 설정됩니다.
- $LogEngineLifeCycleEvent
- $LogEngineHealthEvent
- $LogProviderLifeCycleEvent
- $LogProviderHealthEvent
이벤트 유형을 사용하도록 설정하려면 해당 이벤트 형식의 기본 설정 변수를 $true. 예를 들어 명령 수명 주기 이벤트를 사용하도록 설정하려면 다음을 입력합니다.
$LogCommandLifeCycleEvent
또는 다음을 입력합니다.
$LogCommandLifeCycleEvent = $true
이벤트 유형을 사용하지 않도록 설정하려면 해당 이벤트 형식에 대한 기본 설정 변수를 $false. 예를 들어 명령 수명 주기 이벤트를 사용하지 않도록 설정하려면 다음을 입력합니다.
$LogProviderLifeCycleEvent = $false
Windows PowerShell 엔진 및 핵심 공급자가 시작되었음을 나타내는 이벤트를 제외하고 모든 이벤트를 사용하지 않도록 설정할 수 있습니다. 이러한 이벤트는 Windows PowerShell 프로필이 실행되기 전과 호스트 프로그램이 명령을 수락할 준비가 되기 전에 생성됩니다.
변수 설정은 현재 Windows PowerShell 세션에만 적용됩니다. 모든 Windows PowerShell 세션에 적용하려면 Windows PowerShell 프로필에 추가합니다.
모듈 이벤트 로깅
Windows PowerShell 3.0부터 모듈 및 스냅인의 LogPipelineExecutionDetails 속성을 TRUE로 설정하여 Windows PowerShell 모듈 및 스냅인에서 cmdlet 및 함수에 대한 실행 이벤트를 기록할 수 있습니다. Windows PowerShell 2.0에서 이 기능은 스냅인에만 사용할 수 있습니다.
LogPipelineExecutionDetails 속성 값이 TRUE($true
)이면 Windows PowerShell 세션의 cmdlet 및 함수 실행 이벤트를 이벤트 뷰어 Windows PowerShell 로그에 씁니다. 이 설정은 현재 세션에서만 적용됩니다.
모듈에서 cmdlet 및 함수의 실행 이벤트 로깅을 사용하도록 설정하려면 다음 명령 시퀀스를 사용합니다.
Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true
스냅인에서 cmdlet의 실행 이벤트 로깅을 사용하도록 설정하려면 다음 명령 시퀀스를 사용합니다.
$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True
로깅을 사용하지 않도록 설정하려면 동일한 명령 시퀀스를 사용하여 속성 값을 FALSE($false
)로 설정합니다.
"모듈 로깅 켜기" 그룹 정책 설정을 사용하여 모듈 및 스냅인 로깅을 사용하거나 사용하지 않도록 설정할 수도 있습니다. 정책 값에는 모듈 및 스냅인 이름 목록이 포함됩니다. 와일드카드가 지원됩니다.
모듈에 대해 "모듈 로깅 켜기"가 설정된 경우 모듈의 LogPipelineExecutionDetails 속성 값은 모든 세션에서 TRUE이며 변경할 수 없습니다.
모듈 로깅 설정 그룹 정책 설정은 다음 그룹 정책 경로에 있습니다.
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
사용자 구성 정책이 컴퓨터 구성 정책보다 우선하며, 두 정책 모두 모듈 및 스냅인의 LogPipelineExecutionDetails 속성 값보다 우선합니다.
이 그룹 정책 설정에 대한 자세한 내용은 about_Group_Policy_Settings.
보안 및 감사
Windows PowerShell 이벤트 로그는 활동을 나타내고 문제 해결을 위한 운영 세부 정보를 제공하도록 설계되었습니다.
그러나 대부분의 Windows 기반 애플리케이션 이벤트 로그와 마찬가지로 Windows PowerShell 이벤트 로그는 안전하도록 설계되지 않았습니다. 보안을 감사하거나 기밀 또는 독점 정보를 기록하는 데 사용하면 안 됩니다.
이벤트 로그는 사용자가 읽고 이해할 수 있도록 설계되었습니다. 사용자는 로그에서 읽고 로그에 쓸 수 있습니다. 악의적인 사용자는 로컬 또는 원격 컴퓨터에서 이벤트 로그를 읽고, 거짓 데이터를 기록한 다음, 해당 활동의 로깅을 방지할 수 있습니다.
참고
모듈 작성자의 작성자는 모듈에 로깅 기능을 추가할 수 있습니다. 자세한 내용은 MSDN 라이브러리에서 Windows PowerShell 모듈 작성을 참조하세요.