Remove-EventLog
刪除事件記錄檔或取消註冊事件來源。
語法
Remove-EventLog
[[-ComputerName] <String[]>]
[-LogName] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-EventLog
[[-ComputerName] <String[]>]
[-Source <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Remove-EventLog Cmdlet 會從本機或遠端電腦刪除事件記錄檔,並取消註冊記錄檔的所有事件來源。 您也可以使用此 Cmdlet 來取消註冊事件來源,而不刪除任何事件記錄檔。
包含 EventLog 名詞的 Cmdlet,EventLog Cmdlet,僅適用於傳統事件記錄檔。 若要從 Windows Vista 和更新版本的 Windows 作業系統中使用 Windows 事件記錄技術的記錄取得事件,請使用 Get-WinEvent。
注意:此 Cmdlet 可以刪除操作系統事件記錄檔,這可能會造成應用程式失敗和非預期的系統行為。
範例
範例 1:從本機計算機移除事件記錄檔
PS C:\> Remove-EventLog -LogName "MyLog"
此命令會從本機計算機刪除 MyLog 事件記錄檔,並取消註冊其事件來源。
範例 2:從數部計算機移除事件記錄檔
PS C:\> Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"
此命令會從本機計算機和 Server01 和 Server02 遠端電腦刪除 MyLog 和 TestLog 事件記錄檔。 此命令也會取消註冊這些記錄的事件來源。
範例 3:刪除事件來源
PS C:\> Remove-EventLog -Source "MyApp"
此命令會從本機電腦上的記錄中刪除 MyApp 事件來源。 當命令完成時,MyApp 程式無法寫入任何事件記錄檔。
範例 4:移除事件記錄檔並確認動作
The first command lists the event logs on the local computer.
PS C:\> Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
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
The second command deletes the ZapLog event log.
PS C:\> Remove-EventLog -LogName "ZapLog"
The third command lists the event logs again. The ZapLog event log no longer appears in the list.
PS C:\> Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 22,923 Application
15,168 0 OverwriteAsNeeded 53 DFS Replication
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 命令是否成功。
範例 5:移除事件來源並確認動作
PS C:\> Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}
MyApp
TestApp
PS C:\> Remove-Eventlog -Source "MyApp"
PS C:\> Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'"} | foreach {$_.sources}
TestApp
這些命令會使用 Get-WmiObject Cmdlet 來列出本機電腦上的事件來源。 您可以透過這些命令來確認命令是否成功,或刪除事件來源。
第一個命令會取得本機計算機上 TestLog 事件記錄檔的事件來源。 MyApp 是其中一個來源。
第二個命令會使用 Remove-EventLogSource 參數來刪除 MyApp 事件來源。
第三個命令與第一個命令相同。 它會顯示 MyApp 事件來源已刪除。
參數
-ComputerName
指定遠端電腦。 預設值為本機計算機。
輸入 NetBIOS 名稱、IP 位址或遠端電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱、點 (.) 或localhost。
此參數不依賴 Windows PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 Remove-EventLogComputerName 參數。
類型: | String[] |
別名: | CN |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-LogName
指定事件記錄檔。 輸入一或多個事件記錄檔的記錄名稱,並以逗號分隔。 記錄檔名稱是 Log 屬性的值,不允許使用 LogDisplayName、通配符。 這是必要參數。
類型: | String[] |
別名: | LN |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Source
指定此 Cmdlet 取消註冊的事件來源。 輸入來源名稱,而不是以逗號分隔的可執行檔名稱。
類型: | String[] |
別名: | SRC |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將輸入傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
若要在 Windows Vista 和更新版本的 Windows 作業系統上使用 Remove-EventLog,請使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。
如果您移除事件記錄檔,然後重新建立記錄檔,您將無法註冊相同的事件來源。 使用事件來源將專案寫入原始記錄檔的應用程式將無法寫入新記錄檔。
當您取消註冊特定記錄的事件來源時,可能會防止事件來源在其他事件記錄檔中寫入專案。