現象
現象
Windows Server 2003 Service Pack 2、Windows Server 2003 R2 Service Pack 2 環境で、OSのシステムイベントログに"Service Control Manager"のログが記録されないことがあります。
現象の影響
"Service Control Manager"のイベントが記録されないため、サービス関連でエラーが発生した場合、エラーの要因特定が困難となる場合があります。
現象の確認方法
- スタートメニューから
[すべてのプログラム] - [管理ツール] - [イベントビューア]を起動します。
- システムイベントログを見て、ソースが"Service Control Manager"のイベントが記録されているかを確認します。
イベントが記録されていない場合は本現象に該当します。
回復手順
回復手順
"Service Control Manager"のイベントが表示されるようにするためには、以下の何れかの手順を実施します。
各手順を実行する前に、以下を確認してください。
- スタートメニューを開き、[ファイル名を指定して実行]で
control panel
と入力し、[コントロールパネル]を開きます。
- [コントロールパネル]の[タスク]を実行します。
- メニューの[詳細設定] - [ATサービスのアカウント]を選択します。
- "ATサービスのアカウントの構成"ダイアログが表示されるので、"システム アカウント"が選ばれていることを確認します。
手順a.コマンドプロンプトからコマンドを実行する方法
- 管理者でWindowsにログオンし、スタートメニューから[すべてのプログラム] - [管理ツール] - [サービス]を起動します。
- サービスの一覧で、、"Task Scheduler"サービスが開始されていることを確認します。開始されていない場合は、"Task Scheduler"サービスの上で右クリックし、メニューから"開始"を選択し、サービスを開始してください。
- スタートメニューから[コマンドプロンプト]を開きます。
- 現在の時刻を確認します。
例) C:\>time /t
21:00
- 以下のコマンドを実行します。
at XX:XX /i %windir%\system32\wbem\mofcomp.exe %windir%\system32\wbem\scm.mof
XXX:XXXには、4. で確認した時刻より後の時刻を入力してください。
次の例では、4. で確認した時刻の2分後を設定します。
例) C:\>at 21:02 /i %windir%\system32\wbem\mofcomp.exe %windir%\system32\wbem\scm.mof
新しいジョブをジョブ ID = x で追加しました。
- 上記 5. で設定した時間が過ぎるまで待ちます。
設定した時刻になると、一瞬コマンドプロンプトの画面が表示されます。
- Windowsを再起動します。
手順b.スクリプトを作成し実行する方法
※以下のスクリプトは記述・実行方法の一例です。ご使用の環境に合わせて作成、実行をお願いいたします。
- 管理者でWindowsにログオンし、スタートメニューから [すべてのプログラム] - [アクセサリ] - [メモ帳]を起動し、スクリプトを作成してください。
スクリプト記述例)-------------------------------------------------
Dim StrTime
Dim StrTimeNow
Dim StrCommand
Dim WshShell
'現在の時刻を取得
StrTimeNow = FormatDateTime(now,vbShortTime)
'2分後の時刻を取得
StrTime = FormatDateTime(DateAdd("n",2,now),vbShortTime)
'現在の時刻を出力
WScript.Echo "現在の時刻 :" & StrTimeNow
'コマンド実行時刻(2分後の時刻)を出力
WScript.Echo "コマンド実行時刻 :" & StrTime
'コマンドの生成と実行
StrCommand = "AT " & StrTime & " /i %windir%\system32
\wbem\mofcomp.exe
%windir%\system32\wbem\scm.mof"
Set WshShell = CreateObject ("Wscript.Shell")
WshShell.Run StrCommand
--------------------------------------------------------------
- 作成したスクリプトを保存してください。
例)"C:\TEMP\SCM.vbs"として保存
- スタートメニューから[コマンドプロンプト]を開きます。
- 作成したスクリプトを実行します。
例)c:\>cscript C:\TEMP\SCM.vbs
- コマンドが実行される時間が過ぎるまで待ちます。
作成したスクリプトの内容により実行される時間は異なります。
1. の例の場合スクリプト実行後、約2分でコマンドが実行されます。
コマンド実行時には、一瞬コマンドプロンプトの画面が表示されます。
- Windowsを再起動します。
修正の確認手順
- OS起動後、管理者としてログオンし、スタートメニューから[すべてのプログラム] - [管理ツール] - [イベントビューア]を起動します。
- システムイベントログを見て、"Service Control Manager"のログが記録されることを確認します。"Service Control Manager"のログが記録されるまで若干時間がかかる場合がありますので、F5キーを押して、イベントビューアの表示をリフレッシュしてください。
例)
ソース:Service Control Manager
イベントID: 7035
説明: XXXXXサービスは、正常に開始コントロールを送信しました
- ドメインコントローラに昇格させる
※"ソース"に"Service Control Manager"のイベントが記録されれば、本件は解決されています。
イベントID、説明文などはイベントの内容により変わります。