• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Powershell プログラミングについて)

Powershellでサーバ管理のための前日のイベントログを出力するプログラムを作成する際の疑問

このQ&Aのポイント
  • 初めてPowershellを使用してサーバ管理のための前日のイベントログを出力するプログラムを作成しましたが、一部エラーが発生しています。
  • エラーが発生している箇所は、HostNameの出力方法です。正しいHostNameを表示させるためにはどのように書けば良いのでしょうか?
  • ご指導いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

間違っていたら申し訳ないのですが、Get-EventLogの出力にHostNameは無いと思いますので、Get-EventLogの結果にカスタマイズでHostNameを追加したいということでいいでしょうか? また、$hostnameは質問文に設定が出て来ませんのでどこかで設定されていると考えていいでしょうか? >HostName[SAKURAI-PC] : このように表示されるのは、 >Select-Object EntryType,EventID,TimeGenerated,Source,Message,HostName[$hostname] ここで定義されていないオブジェクトをselectしているので空の値が表示されているのでこのようになっていると思います。 前提が正しければ、$eventにプロパティとしてHostNameを追加してやればご希望の結果が得られると思います。 $a = "[$hostname]" Add-Member -InputObject $event -MemberType noteproperty -Name HostName -Value $a $eventのパイプの中に入れたければ InputObjectを外した形にすればいいでしょう。 Add-Memberについてはヘルプで確認して見て下さい。 違っていたらごめんなさいです。

sakuraiy2
質問者

お礼

無事ホスト名を出力させることができました! ありがとうございます。 Add-Memberすら知らなくて…ご迷惑をお掛けしました。 結局、下記のようにプログラムを追加しました。 # ログ取得 $event = get-EventLog -logname $type -after $start_time_yesterday -before $end_time_yesterday | ` Where-Object { $_.EntryType -eq "Warning" -or $_.EntryType -eq "Error" } | ` Where-Object { $_.EventID -ne "1111" -and $_.EventID -ne "5722" -and $_.EventID -ne "5719" -and $_.EventID -ne "1530" }| ` Add-Member NoteProperty HostName $hostname -pass | ` Select-Object EntryType,EventID,TimeGenerated,Source,HostName,Message 本当にありがとうございます。

関連するQ&A