次の方法で共有


Remove-EventLog

イベント ログを削除またはイベント ソースの登録を解除します。

構文

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

説明

Remove-EventLog コマンドレットは、ローカルまたはリモート コンピューターからイベント ログ ファイルを削除し、ログのすべてのイベント ソースの登録を解除します。 このコマンドレットを使用して、イベント ログを削除せずにイベント ソースの登録を解除することもできます。

EventLog 名詞である EventLogコマンドレットを含むコマンドレットは、クラシック イベント ログでのみ機能します。 Windows Vista 以降のバージョンの Windows オペレーティング システムで Windows イベント ログ テクノロジを使用するログからイベントを取得するには、Get-WinEvent を使用します。

注意: このコマンドレットを使用すると、オペレーティング システムのイベント ログを削除できます。これにより、アプリケーションエラーや予期しないシステム動作が発生する可能性があります。

例 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 コマンドレットを使用して、ローカル コンピューター上のイベント ソースの一覧を表示します。 これらのコマンドを実行して、コマンドの成功を確認したり、イベント ソースを削除したりすることができます。

最初のコマンドは、ローカル コンピューター上の TestLog イベント ログのイベント ソースを取得します。 MyApp はソースの 1 つです。

2 番目のコマンドでは、Remove-EventLogSource パラメーターを使用して MyApp イベント ソースを削除します。

3 番目のコマンドは、最初のコマンドと同一です。 MyApp イベント ソースが削除されたことを示します。

パラメーター

-ComputerName

リモート コンピューターを指定します。 既定値はローカル コンピューターです。

リモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、ドット (.)、または localhost を入力します。

このパラメーターは、Windows PowerShell リモート処理に依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、Remove-EventLogComputerName パラメーターを使用できます。

Type:String[]
Aliases:CN
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogName

イベント ログを指定します。 1 つ以上のイベント ログのログ名をコンマで区切って入力します。 ログ名は LogDisplayName ではなく Log プロパティの値であり、ワイルドカード文字は使用できません。 このパラメーターは必須です。

Type:String[]
Aliases:LN
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Source

このコマンドレットが登録を解除するイベント ソースを指定します。 実行可能名ではなく、ソース名をコンマで区切って入力します。

Type:String[]
Aliases:SRC
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

None

このコマンドレットによる戻り値はありません。

メモ

  • Windows Vista 以降のバージョンの Windows オペレーティング システムで Remove-EventLog を使用するには、[管理者として実行] オプションを使用してWindows PowerShellを開始します。

    イベント ログを削除した後、ログを再作成する場合、同じイベント ソースを登録することはできません。 エントリを元のログに書き込むためにイベント ソースを使用したアプリケーションは、新しいログに書き込むことはできません。

  • 特定ログのイベント ソースの登録を解除すると、エントリの他のイベント ログへの書き込みが防止されます。