powershellを使用して特定のWindowsイベントログを出力するにはどうすればよいですか? 可能ですか?Powershell - テールWindowsイベントログ?出来ますか?
答えて
私は機会にこれをやった:
$idx = (get-eventlog -LogName System -Newest 1).Index
while ($true)
{
start-sleep -Seconds 1
$idx2 = (Get-EventLog -LogName System -newest 1).index
get-eventlog -logname system -newest ($idx2 - $idx) | sort index
$idx = $idx2
}
申し訳ありませんが、投稿した最初のスクリプトは正しくありませんでした。テストを開始してから、w32timeサービスを数回再起動して結果を確認することができます。 – mjolinor
MSDNのドキュメントごと:
Get-WinEvent
は、Windows Vistaおよびそれ以降のバージョンのWindowsを実行している コンピュータ上Get-EventLog
コマンドレットを置き換えるために設計されています。Get-EventLog
は、クラシックイベントログでのみイベントを取得します。Get-EventLog
は、後方互換性のためにWindows PowerShellに保持される です。
とテールに私自身の必要性非 -classicイベントログでの拍車をかけたが(それはイベントログヌーボー恐らくでしょうか?)ここGet-WinEvent
を使用するために再利用@mjolinorの素晴らしく簡潔なコードです:
Set-PSDebug -Strict
function Get-WinEventTail($LogName, $ShowExisting=10) {
if ($ShowExisting -gt 0) {
$data = Get-WinEvent -provider $LogName -max $ShowExisting
$data | sort RecordId
$idx = $data[0].RecordId
}
else {
$idx = (Get-WinEvent -provider $LogName -max 1).RecordId
}
while ($true)
{
start-sleep -Seconds 1
$idx2 = (Get-WinEvent -provider $LogName -max 1).RecordId
if ($idx2 -gt $idx) {
Get-WinEvent -provider $LogName -max ($idx2 - $idx) | sort RecordId
}
$idx = $idx2
# Any key to terminate; does NOT work in PowerShell ISE!
if ($Host.UI.RawUI.KeyAvailable) { return; }
}
}
私は便宜のために、いくつかの添えものに追加:
- をデフォルトでは、それは最後の10行を表示最初にログを作成し、次に新しいエントリを連結します。
ShowExisting
パラメータを使用して任意の数に調整できます。 - テールが必要とする自然順序のため、最も古いレコードを最初にソートします(
Get-WinEvent
のデフォルトとは逆です)。 - 任意のキーを押して終了できます(ただし、PowerShellISEでは終了できません)。
私は...上記の回答で
Set-PSDebug -Strict
function Get-WinEventTail($LogName, $ShowExisting=50) {
if ($ShowExisting -gt 0) {
$data = Get-WinEvent -provider $LogName -max $ShowExisting
$data | sort RecordId
$idx = $data[0].RecordId
}
else {
$idx = (Get-WinEvent -provider $LogName -max 1).RecordId
}
while ($true)
{
start-sleep -Seconds 1
$idx2 = (Get-WinEvent -provider $LogName -max 1).RecordId
if ($idx2 -gt $idx) {
$data = Get-WinEvent -provider $LogName -max ($idx2 - $idx + 1000) | where {$_.RecordId -gt $idx} | sort RecordId
$data
$idx = $data[-1].RecordId
}
# Any key to terminate; does NOT work in PowerShell ISE!
#if ($Host.UI.RawUI.KeyAvailable) { return; }
}
}
これは推奨される編集またはコメントであり、新しい回答ではありません。あなたは一度あなたがより多くの評判を得ると、これらのことを行うことができます。 – Chris
- 1. PowerShellのWindowsイベントログを操作する
- 2. WindowsイベントログをCSVで抽出
- 3. Powershell、コマンドラインとイベントログ
- 4. Powershell:イベントログのフィルタリング
- 5. Windowsのイベントログとテキストログ
- 6. WindowsイベントログのスプリアスMSMQタイムアウトエラー
- 7. Windowsでgollumを使用するには?出来ますか?
- 8. PowerShellバージョン1.0 - イベントログに書き込む
- 9. WindowsはWindowsサービスからのイベントログをどのくらい保存しますか
- 10. Windowsイベントログ 'Forwarded Events'に日付を照会できません
- 11. Windowsイベントログを効率的にクエリする
- 12. WindowsイベントログにXMLデータを入力する
- 13. TableLayout Tweak。出来ますか?
- 14. 出力をイベントログにリダイレクト
- 15. Javaでlog4j2を使用したWindowsイベントログ
- 16. Windowsイベントログにactivemqログを書き込む
- 17. ログは、Windowsイベントログで内部エラーが
- 18. イベントログを出力するスクリプトは動作していません
- 19. Windowsでローリングログファイルをテールする最も効率的な方法
- 20. Windowsのイベントログにいつログインするのですか?
- 21. WindowsイベントログからソースMySQLの警告を逃す
- 22. Windowsイベントログ:どのくらい高速な操作ですか?
- 23. WindowsのイベントログからPIDを取得する方法は?
- 24. スネアをpowershellに置き換え、イベントログをプッシュする
- 25. テール
- 26. Windowsバッチファイルからpowershellコマンドレットを呼び出す
- 27. html:select in html:select?出来ますか?
- 28. WindowsCE6.0にLiteStepシェル。出来ますか?
- 29. CSS3画像マスキング、フォトショップスタイル。出来ますか?
- 30. FB.loginブックマークとiframe。出来ますか?
テールをいくつかのエラーを修正?イオンモニターとして?または特定のイベントの末尾を取得しますか? –