Configuration Manager 2007 中央サイトをバックアップから復元した後、OSD とタスク シーケンスが失敗する

この記事では、System Center Configuration Manager 2007 をバックアップから復元した後、オペレーティング システムの展開 (OSD) とタスク シーケンスが機能しなくなった問題の解決策について説明します。

元の製品バージョン:System Center Configuration Manager 2007
元の KB 番号: 2509330

現象

System Center Configuration Manager 2007 を使用し、Backup ConfigMgr Site Server メンテナンス タスクによって作成されたバックアップから復元する場合、Windows OS をサーバーに再インストールした後、または新しいサーバー ハードウェアに復元した後に復元が実行された場合、OSD とタスク シーケンスは機能しなくなります。 失敗したクライアント コンピューターからSMSTS.logを取得すると、次のエラーが表示されます。

ポリシー本文の解析。 TSMBootstrap
(!sNetworkAccessAccount.empty()) && (!sNetworkAccessPassword.empty()),HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1518) TSMBootstrap
NAAConfig CCM_NetworkAccessAccount TSMBootstrap から空の NetworkAccessUsername/NetworkAccessPassword が見つかりました
GetEncodedNetworkAccessAccount (sEncodedAccount, sEncodedPassword), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1544) TSMBootstrap
ネットワーク アクセス アカウントが設定されていないTSMBootstrap
GetNetworkAccessAccount( sNetworkAccessAccount, sNetworkAccessPassword ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1597) TSMBootstrap
pTSPolicyManager-GetContentLocations>( m_sPackageID, m_lSourceVersion, m_dwContentSourceFlags, slistContentLocations, slistHttpContentLocations, slistMulticastContentLocations, m_dwContentPackageFlags ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,2330)
(*iTSReference)->Resolve( pTSPolicyManager, dwResolveFlags ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,2862) TSMBootstrap
m_pSelectedTaskSequence-Resolve>( m_pPolicyManager, TS::P olicy::TaskSequence::ResolvePolicy |TS::P olicy::TaskSequence::ResolveSource, fpCallbackProc, pv, hCancelEvent), HRESULT=80040101 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp,1208) TSMBootstrap
選択したタスク シーケンスの依存関係を解決できませんでした。 Code(0x80040101) TSMBootstrap hrReturn, HRESULT=80040101 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediaresolveprogresspage.cpp,408) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence が失敗しました。 Code(0x80040101) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence から、TSMBootstrap 0x80040101コードが返されました
ウィザードの設定エラー: マシン ポリシーからネットワーク アクセス アカウントを読み取れませんでした。 詳細については、システム管理者またはヘルプデスクオペレーターにお問い合わせください。 TSMBootstrap

上記のSMSTS.logファイルを確認すると、ネットワーク アクセス アカウントが設定されていないことが明らかになります。 Windows プレインストール環境 (WinPE) 内のクライアント コンピューターは、ドメインに参加していないワークグループ コンピューターと同等であるため、ネットワーク リソースにアクセスするには、タスク シーケンスでネットワーク アクセス アカウントが必要です。

注:

ネットワーク アクセス アカウントの詳細については、「ネットワーク アクセス アカウント」を参照してください。

ConfigMgr 2007 管理コンソールの [サイト設定クライアント エージェント] > でコンピューター クライアント エージェントプロパティを確認すると、ネットワーク アクセス アカウントが設定されていることが表示されます。 ネットワーク アクセス アカウントのユーザー名とパスワードを再入力してコンピューター クライアント エージェントプロパティでネットワーク アクセス アカウントをリセットすると、エラーが解決されるようですが、SMSTS.logで新しいエラーが発生します。 失敗したクライアント コンピューターでSMSTS.logを確認すると、次のエラーが表示されます。

応答本文の展開。 TSMBootstrap
::D ecompressBuffer(65536) TSMBootstrap
展開 (zlib) が成功しました:元のサイズ 476、非圧縮サイズ 2568。 TSMBootstrap
CryptMsgControl (hMsg, 0, CMSG_CTRL_VERIFY_SIGNATURE, pCert-pCertInfo>), HRESULT=8009100e (e:\nts_sms_fre\sms\framework\osdmessaging\libcrypt.cpp,351) TSMBootstrap
署名の Varification に失敗したTSMBootstrap
ipCertContext != listpServerCertContext.end(), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\osdmessaging\libsmsmessaging.cpp,2476) TSMBootstrap
署名チェック失敗しました: <署名> TSMBootstrap
DoRequest (sReply, true), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\osdmessaging\libsmsmessaging.cpp,5010) TSMBootstrap
クライアント ID (80004005) の取得に失敗したTSMBootstrap
ClientIdentity.RequestClientIdentity (), HRESULT=80004005 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp,815) TSMBootstrap
TSMediaWizardControl::GetPolicy の終了を要求できませんでした。 TSMBootstrap
pWelcomePage-m_pTSMediaWizardControl-GetPolicy>>()、HRESULT=80004005 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawelcomepage.cpp,280) TSMBootstrap の要求に失敗しました
設定ウィザード エラーの要求に失敗しました: このコンピューター (0x80004005) のポリシーの取得中にエラーが発生しました。 詳細については、システム管理者またはヘルプデスクオペレーターにお問い合わせください。 TSMBootstrap

原因

この問題は、新しい ConfigMgr 2007 インストールから srvacct フォルダーを保持するのではなく、元の ConfigMgr 2007 インストールから srvacct フォルダーを復元するバックアップが原因で発生します。 srvacct フォルダーは、ConfigMgr 2007 がインストールされているディレクトリのルート レベルにあります。 通常、このフォルダーには srvacct という名前のテキスト ファイルがあります。<>site_code。 テキスト ファイルには公開キーがあり、Windows OS に格納されている秘密キーと共に、ネットワーク アクセス アカウントを含むサービス アカウント情報 (ユーザー名/パスワード) の暗号化を解除できます。

Windows OS が新しくインストールされている場合は、OS を再インストールするか、新しいハードウェアにインストールするか、ConfigMgr 2007 をインストールすると、Windows OS に新しい秘密キーが生成されます。 その後、秘密キーと一致する該当する公開キーが生成され、srvacct ファイルの srvacct フォルダーに格納されます。<>site_code。 バックアップが Windows OS の別のインスタンスから srvacct フォルダーを復元する場合は、srvacct 内の公開キー。<>site_code フォルダーが Windows OS の秘密キーと一致しなくなります。 これにより、ConfigMgr 2007 で使用されるすべてのサービス アカウント (ネットワーク アクセス アカウントを含む) の情報が暗号化解除されて使用されなくなります。

この問題は、タスク シーケンスと OSD 以外の ConfigMgr 2007 の他の領域でも問題が発生する可能性があります。 ほとんどの操作では SYSTEM/サイト サーバーのコンピューター アカウントが使用されるため、ConfigMgr 2007 ではサービス アカウントは通常使用されません。 この規則の唯一の例外は、WinPE で実行するときにタスク シーケンスで必要なネットワーク アクセス アカウントであり、この問題が OSD に最も顕著に影響を与える理由です。

サービス アカウントは、タスク シーケンスと OSD 以外の ConfigMgr 2007 の他の領域で、SYSTEM/サイト サーバーのコンピューター アカウントの代わりに使用できます。

OSD 以外のこの問題の影響を受ける可能性が最も高い他の 2 つの領域は、サイト アドレス アカウント (サイトが相互に通信できない) とデータベース アクセス アカウント (サイト ロールがデータベースにアクセスできない) の使用です。 この問題は、サービス アカウント (ネットワーク アクセス アカウント) が常に必要で使用されるため、OSD ではほとんど発生します。

解決方法

この問題を解決するには、ConfigMgr 2007 サイトをゼロから再インストールする必要があります。 復元された現在の ConfigMgr 2007 サイトは、元の srvacct フォルダーが存在しなくなったため使用できません。

  1. サーバーをワイプし、Windows OS を再インストールします。

  2. 通常の手順を使用して ConfigMgr 2007 をインストールします。 バックアップから復元しないでください。

  3. Backup ConfigMgr Site Server メンテナンス タスクを使用して作成されたバックアップから復元する前に、ConfigMgr 2007 のルート レベルにある srvacct フォルダーを手動でコピーしてバックアップし、後で復元できる場所に場所をインストールします。

  4. 通常の手順を使用して、 Backup ConfigMgr Site Server メンテナンス タスクを使用して作成されたバックアップから復元します。

  5. バックアップの復元が完了したら、ConfigMgr 2007 がインストールされているルート レベルにある復元された srvacct フォルダーの名前を変更します。

  6. 手順 3 でバックアップした srvacct フォルダーを、ConfigMgr 2007 がインストールされているルート レベルにコピーします。

  7. サーバーでサイトのリセットを実行します。

  8. サイトのリセットが完了したら、ConfigMgr 2007 管理 コンソールで、[サイト管理><] Site_Code>> [サイト設定クライアント エージェント] > に移動します。 右側のウィンドウで、[ コンピューター クライアント エージェント ] を右クリックし、[プロパティ] を選択 します

  9. [ コンピューター クライアント エージェントのプロパティ ] ウィンドウで、[ 全般 ] タブを選択し、[ ネットワーク アクセス アカウント ] セクションで使用されているアカウントを調べます。 使用されているアカウントがメモされていることと、アカウントのパスワードがわかっていることを確認します。

  10. ネットワーク アクセス アカウント情報が確認されたら、[コンピューター クライアント エージェントのプロパティ] ウィンドウの [全般] タブで、[ネットワーク アクセス アカウント] セクションの [クリア] ボタンを選択し、[適用] ボタンを選択します。 ネットワーク アクセス アカウントの情報がクリアされたら、[ネットワーク アクセス アカウント] セクションの [Set...] ボタンを選択します。

  11. [Windows ユーザー アカウント] ウィンドウで、手順 9 で決定したネットワーク アクセス アカウントの [ユーザー名] と [パスワード] を入力し、[OK] ボタンをクリックします。

  12. [ コンピューター クライアント エージェントのプロパティ ] ウィンドウで、[ OK ] ボタンをクリックします。

注:

上記のソリューションを使用して OSD 以外のコンポーネント (サイト アドレス アカウントやデータベース接続アカウントなど) の問題を解決する場合は、手順 8 から 9 の ConfigMgr 2007 管理 コンソールの適切なセクション (サイト システムロールのアドレスやプロパティなど) に移動し、手順 10 から 12 に記載されているのと同じ手順を使用して適切なサービス アカウントをリセットします。

詳細

必要に応じて、サーバーに Windows と ConfigMgr 2007 を再インストールしなくても、上記の問題を修正できます。 これは、 という CryptImportKey.exeツールを使用して行うことができます。

このツールを使用して問題を解決するには:

  1. サーバーで CryptImportKey.exe SYSTEM としてツールを実行します。

    注:

    このツールは正常に完了する必要があります。 失敗した場合は、ローカル SYSTEM アカウントとして実行されていることを確認します。

  2. サーバーでサイトのリセットを実行します。

  3. サイトのリセットが完了したら、ConfigMgr 2007 管理 コンソールで、[サイト管理><] Site_Code>> [サイト設定クライアント エージェント] > に移動します。 右側のウィンドウで、[ コンピューター クライアント エージェント ] を右クリックし、[プロパティ] を選択 します

  4. [ コンピューター クライアント エージェントのプロパティ ] ウィンドウで、[ 全般 ] タブを選択し、[ ネットワーク アクセス アカウント ] セクションで使用されているアカウントを調べます。 使用されているアカウントがメモされていることと、アカウントのパスワードがわかっていることを確認します。

  5. ネットワーク アクセス アカウント情報が確認されたら、[コンピューター クライアント エージェントのプロパティ] ウィンドウの [全般] タブで、[ネットワーク アクセス アカウント] セクションの [クリア] ボタンを選択し、[適用] ボタンを選択します。 ネットワーク アクセス アカウントの情報がクリアされたら、[ネットワーク アクセス アカウント] セクションの [Set...] ボタンを選択します。

  6. [Windows ユーザー アカウント] ウィンドウで、[解決策] セクションの手順 9 で決定したネットワーク アクセス アカウントのユーザー名とパスワードを入力し、[OK] ボタンをクリックします。

  7. [ コンピューター クライアント エージェントのプロパティ ] ウィンドウで、[ OK ] ボタンをクリックします。

注:

上記のソリューションを使用して OSD 以外のコンポーネント (サイト アドレス アカウントやデータベース接続アカウントなど) の問題を解決する場合は、手順 3 から 4 で、ConfigMgr 2007 管理 コンソールの適切なセクション (サイト システムの役割のアドレスやプロパティなど) に移動し、手順 5 から 7 に記載されているのと同じ手順で適切なサービス アカウントをリセットします。