2017-10-11 9 views
0

«EventLog»ログ«アプリケーション»、«セキュリティ»と«システム»の並行して最後の10イベントを取得しようとしています。 「Get-EventLog:System.Object []」を、スクリプトを実行するときにパラメータ 'LogName'で必要な型 'System.String'に変換できませんというメッセージが表示されます。事前に助けてくれてありがとう。このスクリプトは、ログ名 "Application"のみで実行されているときに機能します。あなたの各ログで10個の最新のイベントを取得します最後の10イベントを取得するPowerShellのiイベントログ(アプリケーション、Secuirty、システム)

Get-Eventlog -Newest 10 -LogName "Application","Security","System" 
+0

は、文字列を必要としますが、配列 – ArcSet

答えて

1
"Application","Security","System" | ForEach-Object { 
    Get-Eventlog -Newest 10 -LogName $_ 
} 

。あなたが一緒になって、すべての3つのログの10回の最新のイベントをしたい場合は、これを実行する必要があります。

"Application","Security","System" | ForEach-Object { 
    Get-Eventlog -Newest 10 -LogName $_ 
} | Sort-Object -Property Time -Descending | Select-Object -First 10 
0

あなたはそれを-LogNameは、文字列を必要とする、あなたがしようとしている、あなたは、配列を渡す方法を行うカント。

アレイをForEach-Objectにパイプして一度に1つずつ実行することで、タスクを達成できます。 %は、{}これはLOGNAME becuaseである

"Application","Security","System" | %{Get-Eventlog -Newest 10 -LogName $_} 
+0

こんにちは、おかげで入れているのForEach-オブジェクトの別名です。 ScheduledJobを使用してPowerShellでプリントスプーラを毎日再起動するにはどうすればよいですか? 私は使ってみました: Restart-Service -Name Spooler -Force –

+0

ちょっと:)それは悲しいことに、StackOverflowの仕組みではありません。あなたは新しい質問を作成し、あなたが試したことを示して他の人があなたを助けることができるようにする必要があります。それはちょっとしたことを学ぶ/トラブルシューティングする場所のようなものですが、主な質問には関係しない質問にちょうど答える場所ではありません。再度私は新しい質問を開き、あなたが試したことと失敗した方法を示します。 – ArcSet

関連する問題