共用方式為


Remove-EventLog

刪除事件記錄檔或取消註冊事件來源。

語法

Remove-EventLog
      [[-ComputerName] <String[]>]
      [-LogName] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-EventLog
      [[-ComputerName] <String[]>]
      [-Source <String[]>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Cmdlet Remove-EventLog會從本機或遠端電腦刪除事件記錄檔,並取消註冊記錄檔的所有事件來源。 您也可以使用此 Cmdlet 來取消註冊事件來源,而不刪除任何事件記錄檔。

包含 EventLog 名詞 EventLog Cmdlet 的 Cmdlet 僅適用於傳統事件記錄檔。 若要從 Windows Vista 和更新版本的 Windows 作業系統中使用 Windows 事件記錄技術的記錄取得事件,請使用 Get-WinEvent。

警告

此 Cmdlet 可以刪除作業系統事件記錄檔,這可能會造成應用程式失敗和非預期的系統行為。

範例

範例 1:從本機計算機移除事件記錄檔

Remove-EventLog -LogName "MyLog"

此命令會從本機計算機刪除 MyLog 事件記錄檔,並取消註冊其事件來源。

範例 2:從數部計算機移除事件記錄檔

Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"

此命令會從本機計算機和 Server01 和 Server02 遠端電腦刪除 MyLog 和 TestLog 事件記錄檔。 此命令也會取消註冊這些記錄的事件來源。

範例 3:刪除事件來源

Remove-EventLog -Source "MyApp"

此命令會從本機電腦上的記錄中刪除 MyApp 事件來源。 當命令完成時,MyApp 程式無法寫入任何事件記錄檔。

範例 4:移除事件記錄檔並確認動作

這些命令示範如何在計算機上列出事件記錄檔,並確認 Remove-EventLog命令是否成功。

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

Remove-EventLog -LogName "ZapLog"
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

第一個命令會列出本機電腦上的事件記錄檔。

第二個命令會刪除 ZapLog 事件記錄檔。

第三個命令會再次列出事件記錄檔。 ZapLog 事件記錄檔不再出現在清單中。

範例 5:移除事件來源並確認動作

Get-WmiObject win32_nteventlogfile -Filter "logfilename='TestLog'" | foreach {$_.sources}

MyApp
TestApp

Remove-Eventlog -Source "MyApp"
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 不會傳回任何輸出。

備註

  • 若要在 Remove-EventLogWindows Vista 和更新版本的 Windows 作業系統上使用,請使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。

    如果您移除事件記錄檔,然後重新建立記錄檔,您將無法註冊相同的事件來源。 使用事件來源將專案寫入原始記錄檔的應用程式將無法寫入新記錄檔。

  • 當您取消註冊特定記錄的事件來源時,可能會防止事件來源在其他事件記錄檔中寫入專案。