Remove-EventLog
이벤트 로그를 삭제하거나 이벤트 원본의 등록을 취소합니다.
구문
Remove-EventLog [-LogName] <string[]> [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-EventLog [[-ComputerName] <string[]>] [-Source <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]
설명
Remove-EventLog cmdlet은 이벤트 로그 파일을 로컬 또는 원격 컴퓨터에서 제거하고 로그에 대한 모든 이벤트 원본의 등록을 취소합니다. 이 cmdlet을 사용하면 이벤트 로그를 삭제하지 않고 이벤트 원본의 등록을 취소할 수 있습니다.
EventLog 명사(EventLog cmdlet)를 포함하는 cmdlet은 기본 이벤트 로그에서만 작동합니다. Windows Vista 이상에서 Windows 이벤트 로그 기술을 사용하는 로그로부터 이벤트를 가져오려면 Get-WinEvent를 사용합니다.
매개 변수
-ComputerName <string[]>
원격 컴퓨터를 지정합니다. 기본값은 로컬 컴퓨터입니다.
원격 컴퓨터의 NetBIOS 이름, IP(인터넷 프로토콜) 주소 또는 정규화된 도메인 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름, 점(.) 또는 "localhost"를 입력합니다.
이 매개 변수는 Windows PowerShell 원격에 독립적입니다. 원격 명령을 실행하도록 컴퓨터를 구성하지 않은 경우에도 Remove-EventLog의 ComputerName 매개 변수를 사용할 수 있습니다.
필수 여부 |
false |
위치 |
2 |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-LogName <string[]>
이벤트 로그를 지정합니다. 하나 이상 이벤트 로그의 로그 이름(LogDisplayName이 아닌 Log 속성의 값)을 쉼표로 구분하여 입력합니다. 와일드카드 문자는 사용할 수 없습니다. 이 매개 변수는 필수 사항입니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Source <string[]>
지정된 이벤트 원본의 등록을 취소합니다. 실행 파일 이름이 아닌 원본 이름을 쉼표로 구분하여 입력합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Confirm
명령을 실행하기 전에 확인 메시지를 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-WhatIf
명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
없음 입력을 이 cmdlet으로 파이프할 수 없습니다. |
출력 |
없음 이 cmdlet은 어떠한 출력도 반환하지 않습니다. |
참고
Windows Vista 이상에서 Remove-EventLog를 사용하려면 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작합니다.
이벤트 로그를 제거한 다음 다시 만들면 같은 이벤트 원본을 등록할 수 없습니다. 이벤트 원본을 사용하여 원래 로그에 항목을 기록했던 응용 프로그램에서 새 로그에 항목을 기록할 수 없게 됩니다.
특정 로그에 대한 이벤트 원본의 등록을 취소할 경우 이벤트 원본에서 다른 이벤트 로그에 항목을 기록하지 못하게 될 수도 있습니다.
예 1
C:\PS>remove-eventlog -logname MyLog
설명
-----------
이 명령은 로컬 컴퓨터에서 MyLog 이벤트 로그를 삭제하고 해당 이벤트 원본의 등록을 취소합니다.
예 2
C:\PS>remove-eventlog -logname MyLog, TestLog -computername Server01, Server02, localhost
설명
-----------
이 명령은 로컬 컴퓨터("localhost")와 Server01 및 Server02 원격 컴퓨터에서 MyLog 및 TestLog 이벤트 로그를 삭제하고 이러한 로그에 대한 이벤트 원본의 등록을 취소합니다.
예 3
C:\PS>remove-eventlog -source MyApp
설명
-----------
이 명령은 로컬 컴퓨터의 로그에서 MyApp 이벤트 원본을 삭제합니다. 명령이 완료되면 MyApp 프로그램에서 어떤 이벤트 로그에도 항목을 기록할 수 없습니다.
예 4
C:\PS>get-eventlog -list
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
512 7 OverwriteOlder 0 Directory Service
15,168 7 OverwriteOlder 0 Hardware Events
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
30,016 0 OverwriteAsNeeded 50,060 Security
15,168 0 OverwriteAsNeeded 27,592 System
15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell
15,168 7 OverwriteAsNeeded 12 ZapLog
C:\PS> remove-eventlog -logname ZapLog
C:\PS> get-eventlog -list
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
512 7 OverwriteOlder 0 Directory Service
15,168 7 OverwriteOlder 0 Hardware Events
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
30,016 0 OverwriteAsNeeded 50,060 Security
15,168 0 OverwriteAsNeeded 27,592 System
15,360 0 OverwriteAsNeeded 18,355 Windows PowerShell
설명
-----------
이들 명령은 컴퓨터의 이벤트 로그를 나열하는 방법 및 Remove-EventLog 명령이 성공적으로 실행되었는지 확인하는 방법을 보여 줍니다.
첫 번째 명령은 로컬 컴퓨터의 이벤트 로그를 나열합니다.
두 번째 명령은 ZapLog 이벤트 로그를 삭제합니다.
세 번째 명령은 다시 이벤트 로그를 나열합니다. 이제 ZapLog 이벤트 로그가 목록에 더 이상 나타나지 않습니다.
예 5
C:\PS>get-wmiobject win32_nteventlogfile -filter "logfilename='TestLog'" | foreach {$_.sources}
MyApp
TestApp
C:\PS> remove-eventlog -source MyApp
C:\PS> get-wmiobject win32_nteventlogfile -filter "logfilename='TestLog'} | foreach {$_.sources}
TestApp
설명
-----------
이들 명령은 Get-WmiObject cmdlet을 사용하여 로컬 컴퓨터의 이벤트 원본을 나열합니다. 이들 명령을 사용하면 명령이 성공적으로 실행되었는지 확인하거나 이벤트 원본을 삭제할 수 있습니다.
첫 번째 명령은 로컬 컴퓨터에 있는 TestLog 이벤트 로그의 이벤트 원본을 가져옵니다. MyApp도 원본 중 하나입니다.
두 번째 명령은 Remove-EventLog의 Source 매개 변수를 사용하여 MyApp 이벤트 원본을 삭제합니다.
세 번째 명령은 첫 번째 명령과 동일하며 MyApp 이벤트 원본이 삭제되었음을 보여 줍니다.
참고 항목
개념
Clear-EventLog
Get-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent