ページの本文へ

Hitachi

日立アドバンストサーバHA8000シリーズ

現象

現象

Windows Server 2003 Service Pack 2、Windows Server 2003 R2 Service Pack 2 環境で、OSのシステムイベントログに"Service Control Manager"のログが記録されないことがあります。

現象の影響

"Service Control Manager"のイベントが記録されないため、サービス関連でエラーが発生した場合、エラーの要因特定が困難となる場合があります。

現象の確認方法

  1. スタートメニューから
    [すべてのプログラム] - [管理ツール] - [イベントビューア]を起動します。
  2. システムイベントログを見て、ソースが"Service Control Manager"のイベントが記録されているかを確認します。
    イベントが記録されていない場合は本現象に該当します。

発生要因と発生する環境

発生要因

Windows Server 2003 (R2含む)でSP2が含まれていないOSメディアを使用しOSをセットアップした後、SP2を適用した環境で、以下の操作のいずれかを行うと現象が発生します。
発生要因(1) OS複製のためにSysprepツールを実行する。
発生要因(2) ドメインコントローラへ昇格させる。

発生する環境

以下の手順でドメインコントローラを作成した場合

  1. 以下の手順でドメインコントローラを作成した場合
    1. Service Pack 2が含まれていないWindows Server 2003(R2含む)OSメディアを使用しOSをセットアップ
    2. Service Pack 2を適用
    3. ドメインコントローラに昇格させる
    ⇒発生要因(2)に該当します。
    ※ドメインコントローラに昇格後、Service Pack 2を適用した場合は、本現象は発生しません。
  2. 以下の手順で作成したイメージを、JP1/ServerConductor/Deployment Managerでディスク複製インストールを行った場合
    1. Service Pack 2が含まれていないWindows Server 2003(R2含む)OSメディアを使用しOSをセットアップ
    2. Service Pack2を適用
    3. ディスク複製を実施
    ⇒発生要因(1)に該当します。マスタおよび複製先両方とも該当します。
    マスタは、事前に採取したバックアップイメージを使用してリストアすることにより、回避可能です。

回復手順

回復手順

"Service Control Manager"のイベントが表示されるようにするためには、以下の何れかの手順を実施します。
各手順を実行する前に、以下を確認してください。

  1. スタートメニューを開き、[ファイル名を指定して実行]で
    control panel
    と入力し、[コントロールパネル]を開きます。
  2. [コントロールパネル]の[タスク]を実行します。
  3. メニューの[詳細設定] - [ATサービスのアカウント]を選択します。
  4. "ATサービスのアカウントの構成"ダイアログが表示されるので、"システム アカウント"が選ばれていることを確認します。

手順a.コマンドプロンプトからコマンドを実行する方法

  1. 管理者でWindowsにログオンし、スタートメニューから[すべてのプログラム] - [管理ツール] - [サービス]を起動します。
  2. サービスの一覧で、、"Task Scheduler"サービスが開始されていることを確認します。開始されていない場合は、"Task Scheduler"サービスの上で右クリックし、メニューから"開始"を選択し、サービスを開始してください。
  3. スタートメニューから[コマンドプロンプト]を開きます。
  4. 現在の時刻を確認します。
    例) C:\>time /t
    21:00
  5. 以下のコマンドを実行します。
    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 で追加しました。
  6. 上記 5. で設定した時間が過ぎるまで待ちます。
    設定した時刻になると、一瞬コマンドプロンプトの画面が表示されます。
  7. Windowsを再起動します。

手順b.スクリプトを作成し実行する方法
※以下のスクリプトは記述・実行方法の一例です。ご使用の環境に合わせて作成、実行をお願いいたします。

  1. 管理者で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
    --------------------------------------------------------------
  2. 作成したスクリプトを保存してください。
    例)"C:\TEMP\SCM.vbs"として保存
  3. スタートメニューから[コマンドプロンプト]を開きます。
  4. 作成したスクリプトを実行します。
    例)c:\>cscript C:\TEMP\SCM.vbs
  5. コマンドが実行される時間が過ぎるまで待ちます。
    作成したスクリプトの内容により実行される時間は異なります。
    1. の例の場合スクリプト実行後、約2分でコマンドが実行されます。
    コマンド実行時には、一瞬コマンドプロンプトの画面が表示されます。
  6. Windowsを再起動します。

修正の確認手順

  1. OS起動後、管理者としてログオンし、スタートメニューから[すべてのプログラム] - [管理ツール] - [イベントビューア]を起動します。
  2. システムイベントログを見て、"Service Control Manager"のログが記録されることを確認します。"Service Control Manager"のログが記録されるまで若干時間がかかる場合がありますので、F5キーを押して、イベントビューアの表示をリフレッシュしてください。
    例)
    ソース:Service Control Manager
    イベントID: 7035
    説明: XXXXXサービスは、正常に開始コントロールを送信しました
  3. ドメインコントローラに昇格させる

※"ソース"に"Service Control Manager"のイベントが記録されれば、本件は解決されています。
イベントID、説明文などはイベントの内容により変わります。

更新履歴

2009年3月30日 このページを公開しました。