1月 02

原因判明!!

PowerShellで使うメッセージファイルの記述方法によってうまく出ないことが判明。。。

↓メッセージファイルをこんな風に書くと、ダメ。

LanguageNames = (Japanese=0x411:MSG00411)

MessageId = 0x1
Severity = Informational
Facility = Application
SymbolicName = MSG_0
Language = Japanese
%1
.

↓こんな風に書けばOK

LanguageNames = (Japanese=0x411:MSG00411)

MessageId = 0x1
Facility = Application
SymbolicName = MSG_0
Language = Japanese
%1
.

どこが違うかというと、「Severity = Informational」があるか、ないかの違いです。

ResourceHackerで見てみたところ、左のメッセージIDがちょっと変。(左がSeverityを書いている、右はSeverityがない)

画面の右のようになるようにDLLを作れば「Write-EventLog」の-EventIDにメッセージIDを指定すればちゃんと出てきます。

ちなみに「Write-EventLog」に-EntryTypeがあるのでここでError、Warning、Information、SuccessAudit、FailureAuditを設定すればメッセージファイルでSeverityを書かなくてもEntryTypeの設定どおりイベントログに記録されました。



12月 07

Windows PowerShell のWite-EventLogコマンドレットを使ってEventLogを出力できる(はず・・・)。

でも、手元の環境では何度やっても、

「イベントID (X)(ソース hogehoge 内)に関する説明が見つかりませんでした。~」

のようなメッセージと自分が設定したメッセージがつながって出てくる。

「イベントID~」の部分はいらないんですが・・・。

いろいろ調べて、メッセージリソースファイル作ってレジストリにも書いてあるのになぁ。

TechNetライブラリになんか書いてあるのかなぁ。

もうちょっと探ってみるか。




デル株式会社
ウイルスバスター公式トレンドマイクロ・オンラインショップ