からの以下の出力の「ログオンに失敗したアカウント」セクションの「アカウント名」を取得するにはどうすればよいGet-EventLog
ですか? 私はそれが置換文字列を含むことを知っていますが、これはそれを取得していません:
Get-EventLog -ComputerName fs2 -Logname security |
? {$_.eventid -eq "4625"} |
select machinename, eventid, @{n='AccountName';e={$_.ReplacementStrings[2]}},
entrytype, message |
Export-Csv 1.csv -NoTypeInformation
イベントログ エントリの例:
作成時間 : 2016/5/18 8:55:43 AM ProviderName : Microsoft-Windows-Security-Auditing ID : 4625 メッセージ : アカウントがログオンに失敗しました。 主題: セキュリティID:S-1-5-21-1287344763-2688370722-3395302928-19873 アカウント名: service_adfs アカウント ドメイン: DOMAIN ログオン ID: 0xD62E4 ログオンの種類: 3 ログオンに失敗したアカウント: セキュリティID:S-1-0-0 アカウント名: user.thatiwant@DOMAIN.com アカウント ドメイン:
編集:なぜ彼らが私の投稿を編集して従来のコマンドレットを含めるようになったのかわかりませんが、新しいコマンドレット get-winevent で問題なく動作します。正規表現は私には機能しません。これはうまくいくようですが。
get-winevent -computername fs1 -FilterHashtable @{Logname='Security';Id='4625'} |select timecreated, message, machinename, eventid, @{n='AccountName';e={$_.ReplacementStrings[5]}}