VBScriptなどでeventcreateコマンドを実行してもエラーも何も表示されず、イベントビューアーを見てもイベントが作成されていない場合や、コマンドプロンプトからeventcreateコマンドを実行した際に「アクセスが拒否されました」と表示されてカスタムイベントが作成されない場合の対象方法について覚書。
原因
イベントを書き込む権限がない場合、eventcreateコマンドを実行してもイベントを作成することができません。
またコマンドプロンプトから実行した場合は「アクセスが拒否されました」と表示ます。
対処方法
対処方法を以下に記載します。
[Ctrl] + [Windows]キーを押すかもしくは、[スタート]ボタンを右クリックし、[ファイル名を指定して実行]をクリックします。
[ファイル名を指定して実行]ダイアログボックスが表示されるので、[名前]に"gpedit.msc"と入力し、[OK]をクリックします。
「ローカル グループ ポリシー エディター」が表示されるので、画面左ペインから[Windowsの設定] > [セキュリティの設定] > [ローカル ポリシー] > [ユーザー権限の割当]まで展開します。
画面右ペインから[監査とセキュリティログの管理]をダブルクリックします。
[監査とセキュリティログの管理のプロパティ]画面が表示されるので、[ローカル セキュリティの設定]タブの[ユーザーまたはグループの追加]ボタンをクリックします。
[ユーザー、コンピュータ、サービス アカウント または グループの選択]ダイアログボックスが表示されるので、eventcreateコマンドを実行するユーザーを[選択するオブジェクト名を入力してください]ボックスに入力し、[OK]をクリックします。
[監査とセキュリティログの管理のプロパティ]画面に戻るので、[ローカル セキュリティの設定]タブに追加したユーザーが表示されていることを確認して[OK]をクリックします。
これで追加したユーザーでeventcreateコマンドが実行された際にイベントが作成できるようになります。
動作確認
DOSコマンドプロンプトを使って動作確認をします。
DOSコマンドプロンプトを起動し、eventcreateコマンドを実行します。
「アクセスが拒否されました。」メッセージが表示されずに「~をソースとして作成されました。」と表示されればOKです。
実行コマンド
eventcreate /l APPLICATION /T WARNING /ID 999 /SO TEST_Command /D "TEST"
一応イベントビューアーでも確認します。
イベントビューアーを起動し、テストで作成したイベントが以下のように表示されているはずです。
まとめ
VBScriptでeventcreateを実行した際に、エラーも何も表示されないのにカスタムイベントが作成されなかったときに行った対処方法を紹介しました。
「エラーも何も表示されない」と書きましたが、実際には一瞬DOSコマンドプロンプトが起動し、「アクセスが拒否されました。」メッセージが表示されてすぐ閉じてしまうのでVBScriptからだと気づけないというのが正しいです。
コメント