• 検索結果がありません。

アプリケーションスケジューラー

ドキュメント内 2 5 EventSentry (ページ 62-69)

第 5 章  EventSentry で監視

5.5  システムヘルスの監視

5.5.2  アプリケーションスケジューラー

      62 

サービス状況を変更できませんでした。:サービス一時停止 

10110  A service startup type changed  自動からマニュアルへ PDAgent サービスの起動タイプが変更 

 

      63  アプリケーションスケジューラーで設定した日付と時間にアプリケーションをスケジュールするだけでな く、更にx分ごとに連続してアプリケーションを実行します。 

追加機能として、EventSentry が記録できるのは、動的セベリティ(インフォメーションまたはエラー)でイ ベントログへ出力したアプリケーションです。 

この機能で起動した Executables は EventSentry エージェントが実行している  同じセキュリティアカウントの下で実行します。 デフォルトでは Local System  アカウントです。この事を考慮に入れて下さい。アプリケーション実行しようとする時は  ネットワーク上に配置されたリソースへのアクセスが必要です。 

  設定した日時でアプリケーション実行をスケジュール化 

事前設定した日時、例えば毎日午後 3 時、でアプリケーション実行をスケジュール化するには、スケジ ュールリスト横のプラスボタンをクリックします。 以下のダイアログが表示されます。 

      64 

  Schedule Type を Regular Schedule に設定、次に Date & Time エリアでアプリケーションのスケジュー ル化します。 特定の曜日、または月内の特定の日、または双方で実行します。 

Process Timeout 機能ではプロセスがx分以上実行する場合、プロセス終了できます。  Filename フィー ルドで実行ファイルを指定します。 

 

Terminate child processes にチェックが入ると、Filename で起動する全てのチャイルドプロセスは繰り返 し終了します。 

 

周期的にアプリケーションが実行するよう、スケジュール化 

連続してアプリケーションを実行、例えば 5 分毎、をスケジュール化するなら、スケジュールリストの横 のプラスボタンをクリックします。 以下のダイアログが表示されます。 

      65 

  Schedule Type を Recurring Schedule に設定。次に Recurring Schedule に従い、構成します。スケケ ジュールを制限し、アプリケーションを決められた時間の間だけ実行できます。例えば 8AM−5PM 間。 

 

既存スケジュールの変更 

既存スケジュールを変更するには、スケジュールリスト内の見出しをダブルクリックします。 

スクリプト(例;VB スクリプト)起動時、スクリプトファイルを引数(argument) 

として、 Filename フィールドをスクリプトエンジン(例;cscriot.exe)へ  方向付けする事を推奨します。 

例えば C: \Windows\System32\script.exe   c:\Batch\files̲count.vds  実行ファイル c:\Batch\files̲count.vds 

 

アプリケーション終了コード 

終了コード分析を利用する場合、次の 2 点を推奨します。実行アプリケーションディレクトリ(例;

ping.exe)を呼び出すか、スクリプトエンジンを使用してスクリプトを行使します。これにより終了コード

(例;cscript.ece を使用した VB スクリプト)を指定できます。 アプリケーション終了コードが重要な場合、

バッチファイルの使用は推奨しません。 

      66  Log application return code 0 to event log にチェック入れると、EventSentry はイベント情報を記録し ます。 これはアプリケーションイベントログへ実行したスクリプト結果をテキストで表示したイベントで す。 

Log application return code > 0 to event log にチェックを入れると,EventSentry はエラーイベントを記 録します。 これはアプリケーションイベントログへ実行したスクリプト結果をテキストで表示したイベント です。  

 

次章 Example scripts では、アプリケーションスケジューラー機能でより良く動作する Visual Basic スク リプトがリスト化されています。 

 

5.5.2.1  Example Scripts

以下のスクリプトはアプリケーションスケジューラーで使用されます。 またスクリプト実行が成功また は不成功したか(結果に)従いエラーコードを終了します。 調整を必要とする値は緑でハイライト化さ れています。 全ての見本は現時点で使用する Visual Basic スクリプトです。 

   

このスクリプトはフォルダ内のファイル数をカウントします。ファイル数が閾値を  越えると1にリターンします。 

 

' --- ' --- file_count.vbs --- ' ---

' Counts the number of files in a folder (without traversing subfolders) '

' Returns 1 if the number of files is larger than MyLimit or 0 if the number ' of files is equal or less than MyLimit

Dim FS, FO, FC

Dim MyFolder, MyLimit ' Set your values here MyFolder = "C:¥Batch"

MyLimit = 200

Set FS = CreateObject("Scripting.FileSystemObject") Set FO = FS.GetFolder(MyFolder)

Set FC = FO.Files

WScript.Echo "Folder " & MyFolder & " contains " & FC.Count & " files."

If FC.Count > MyLimit Then WScript.Quit(1)

Else

      67  WScript.Quit(0)

End If     

このスクリプトはシステム内の全ての fan を列挙します。 また(サポートしている なら)WMI を通して監視できます。1 つ以上の監視対象 fan のステータスが Other 、 Unknown 、 Running でもない場合、スクリプトは1にリターンします。 

' --- ' --- system_faninfo.vbs --- ' --- On Error Resume Next

Dim GlobalError GlobalError = 0

Function ExplainAvailability(Availability) Select Case Availability

Case 1: ExplainAvailability = "Other"

Case 2: ExplainAvailability = "Unknown"

Case 3: ExplainAvailability = "Running / Full Power"

Case 4: ExplainAvailability = "Warning"

Case 5: ExplainAvailability = "In Test"

Case 6: ExplainAvailability = "Not Applicable"

Case 7: ExplainAvailability = "Power Off"

Case 8: ExplainAvailability = "Off Line"

Case 9: ExplainAvailability = "Off Duty"

Case 10: ExplainAvailability = "Degraded"

Case 11: ExplainAvailability = "Not Installed"

Case 12: ExplainAvailability = "Install Error" 

Case 13: ExplainAvailability = "Power Save - Unknown"

Case 14: ExplainAvailability = "Power Save - Low Power Mode"

Case 15: ExplainAvailability = "Power Save - Standby"

Case 16: ExplainAvailability = "Power Cycle"

Case 17: ExplainAvailability = "Power Save - Warning"

End Select End Function

Function ExplainStatus(Status) Select Case Status

Case 1: ExplainStatus = "Other"

Case 2: ExplainStatus = "Unknown"

      68  Case 3: ExplainStatus = "Enabled"

Case 4: ExplainStatus = "Disabled"

Case 5: ExplainStatus = "Not Applicable"

End Select End Function strComputer = "."

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!¥¥"

&

strComputer & "¥root¥cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_Fan") For Each objItem in colItems

Wscript.Echo "Name: " & objItem.Name

Wscript.Echo "Active Cooling: " & objItem.ActiveCooling

Wscript.Echo "Availability: " & ExplainAvailability(objItem.Availability) & "

(" & objItem.Availability & ")"

Wscript.Echo "Device ID: " & objItem.DeviceID

Wscript.Echo "Status Info: " & ExplainStatus(objItem.StatusInfo) & " (" &

objItem.StatusInfo & ")"

Wscript.Echo ' Analyze

If objItem.Availability > 3 Then GlobalError = 1

End If Next

Wscript.Quit(GlobalError)   

5.5.2.2 イベントログ

以下のイベントログレコードはこの Application Scheduler カテゴリー機能で記録します。 

  Event 

ID  イベント表記 例 

10200  An application was executed  successfully 

Superdel.exe は以下で表示した結果と共に 15 秒間実行します。

リターンコードは0 

10201  A process could not be created 

Superdel.exe 処理は以下のエラーにより作成できませんでした。 

ファイル発見できず 

      69 

10202 

A process exceeded maximum  configured time interval, but the  process could not be terminated 

Superdel.exe.処理は最大許容時間 15 分を超過しました。 

EventSentry は以下のエラーにより処理を終了できません。 

アクセス拒否 

10303 

A process exceeded maximum  configured time interval, and was  terminated  

Superdel.exe.処理は最大許容時間 15 分を超過しました。 

この処理は終了しました。 管理アプリケーション内、このドライ ブのタイムアウト・インターバルを増加してください。 (System  Health => 3rd Party Applications) 

ドキュメント内 2 5 EventSentry (ページ 62-69)