CONFIGURATION MANAGER OSD タスク シーケンスがエラー コード 80070005で失敗する

この記事では、Windows のセットアップとConfigMgrの手順で OSD タスク シーケンスが失敗する問題を修正します。

元の製品バージョン: Configuration Manager
元の KB 番号: 4509131

現象

Configuration Manager OSD タスク シーケンスは、Windows のセットアップ中に失敗し、手順が Windows PE で引き続き実行されている場合はConfigMgrします。

次のエラー メッセージがファイルに X:\windows\temp\smstslog\smsts.log 記録されます。

OSDSetupWindows 'C:\WINDOWS' へのフックのインストール
拡張 .EXE の OSDSetupWindows コマンド ラインは "%1" %* です
OSDSetupWindows Set コマンド ライン: "X:\sms\bin\x64\OSDSETUPHOOK.EXE" "/install:C:\WINDOWS" /version:10.0
OSDSetupWindows 実行中のコマンド ライン: "X:\sms\bin\x64\OSDSETUPHOOK.EXE" "/install:C:\WINDOWS" /version:10.0
OSDSetupHook OSD セットアップ フックのインストール
OSDSetupHook !shCmdFile.null()、HRESULT=80070005 (..\vistasetuphook.cpp,96)
OSDSetupHook セットアップ フックのインストールに失敗しました。 要求されたアクセス許可が正しく構成されていない可能性があります。
アクセスが拒否されました。 (エラー: 80070005。ソース: Windows)
OSDSetupHook pHook-install>(sWindowsDir),HRESULT=80070005 (..\osdsetuphook.cpp,385)
OSDSetupHook OSD セットアップ フックのインストールに失敗しました (0x80070005)
OSDSetupWindows プロセスが終了コード2147942405で完了しました
OSDSetupWindows exitCode、HRESULT=80070005 (setupwindows.cpp,785)
OSDSetupWindows インストール セットアップ フックがエラー コード (80070005) で失敗しました。
OSDSetupWindows this-installSetupHook>(), HRESULT=80070005 (setupwindows.cpp,452)
OSDSetupWindows セットアップ フックのインストールに失敗しました (80070005)
OSDSetupWindows setup.run(), HRESULT=80070005 (setupwindows.cpp,1650)
OSDSetupWindows コード 0x80070005を使用して終了する
終了コード2147942405で完了した TSManager プロセス
TSManager -----------------------------------------------------------------------!
TSManager アクションの実行に失敗しました: Windows とConfigMgrのセットアップ。 要求されたアクセス許可が正しく構成されていない可能性があります。
アクセスが拒否されました。 (エラー: 80070005。ソース: Windows)

エラー コードの80070005 (2147942405) に関する詳細情報を次に示します。

エラー コード: 0x80070005 (2147942405)
エラー名: E_ACCESSDENIED
エラー ソース: Windows
エラー メッセージ: 一般的なアクセス拒否エラー

原因

この問題は、カスタム SetupComplete.cmd ファイルが指定されている場合に発生します。 OSD タスク シーケンスでは、SetupComplete.cmd ファイルを使用して、Windows セットアップの完了後にタスク シーケンスを続行します。 カスタム SetupComplete.cmd ファイルが指定されている場合、タスク シーケンスは独自のSetupComplete.cmd ファイルをインストールできません。 Access が拒否されたエラーを 返します。 そのため、カスタム SetupComplete.cmd ファイルは、Configuration Manager OSD タスク シーケンスでは許可されません。

カスタム SetupComplete.cmd ファイルは、次のいずれかの方法で指定できます。

  • これは、オペレーティング システムの適用タスクと Windows のセットアップ タスクとConfigMgr タスクの間のタスク内の適切な場所 (通常はコマンド ラインの実行タスク) にコピーされます。 コマンド ラインの実行 タスクのコマンド ラインの例を次に示します。

    cmd.exe /c copy SetupComplete.cmd %OSDTargetSystemDrive%\Windows\Setup\Scripts

  • これは、カスタム OS WIM ファイルの一部として含まれています。

SetupComplete.cmd ファイルは %WINDIR%\Setup\Scripts 、オフライン OS または OS WIM イメージのフォルダーにあります。

SetupComplete.cmd ファイルの詳細については、「 Windows セットアップにカスタム スクリプトを追加する」を参照してください。

解決方法

この問題を解決するには、カスタム SetupComplete.cmd ファイルを削除します。 ほとんどの場合、カスタム SetupComplete.cmd ファイルで実行されるアクションは、代わりにタスク シーケンス内のタスクとして移動できます。

カスタム SetupComplete.cmd ファイルの指定方法に応じて、次のいずれかの方法を使用してファイルを削除します。

  • [オペレーティング システムの適用] タスクと [Windows のセットアップ] タスクと ConfigMgr タスクの間のコマンド ラインの実行タスクで指定されている場合は、タスク シーケンスからコマンド ラインの実行タスクを削除します。

  • カスタム OS イメージの一部である場合は、[オペレーティング システムの適用] タスクと [Windows のセットアップ] タスクとConfigMgr タスクの間にコマンド ラインの実行タスクを追加します。 コマンド ラインの実行 タスクのコマンド ラインで、次のコマンドを入力して、カスタム SetupComplete.cmd ファイルを削除します。

    cmd.exe /c del SetupComplete.cmd %OSDTargetSystemDrive%\Windows\Setup\Scripts /F /Q