この記事では、 Setup Windows および ConfigMgr ステップ中に OSD タスク シーケンスが失敗する問題を修正します。
元の製品バージョン: Configuration Manager
元の KB 番号: 4509131
現象
Setup Windows および ConfigMgr ステップ中に、手順が Windows PE で実行されている場合、Configuration Manager OSD タスク シーケンスは失敗します。
次のエラー メッセージが 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)
終了コード 2147942405で完了した OSDSetupWindows プロセス
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)
コード 0x80070005で終了する OSDSetupWindows
終了コード 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が拒否 エラーを返します。 そのため、Configuration Manager OSD タスク シーケンスでは、カスタム SetupComplete.cmd ファイルは許可されません。
カスタム SetupComplete.cmd ファイルは、次のいずれかの方法で指定できます。
これは、Apply オペレーティング システムと Setup Windows タスクと ConfigMgr タスクの間のタスク (通常は Run コマンド ライン タスク) 内の適切な場所コピーされます。 Run コマンド ライン タスクのコマンド ラインの例を次に示します。
cmd.exe /c copy SetupComplete.cmd %OSDTargetSystemDrive%\Windows\Setup\Scripts
これは、カスタム OS WIM ファイルの一部として含まれています。
SetupComplete.cmd ファイルは、オフライン OS または OS WIM イメージの %WINDIR%\Setup\Scripts
フォルダーにあります。
SetupComplete.cmd ファイルの詳細については、「 カスタム スクリプトを Windows セットアップに追加するを参照してください。
解決方法
この問題を解決するには、カスタム SetupComplete.cmd ファイルを削除します。 ほとんどの場合、カスタム SetupComplete.cmd ファイルで実行されるアクションは、タスク シーケンス内のタスクとして移動できます。
カスタム SetupComplete.cmd ファイルの指定方法に応じて、次のいずれかの方法を使用してファイルを削除します。
Apply オペレーティング システムタスクと Setup Windows タスクと ConfigMgr タスクの間の Run コマンド ライン タスクで指定されている場合はタスク シーケンスから Run コマンド ライン タスクを削除します。
カスタム OS イメージの一部である場合は、Apply オペレーティング システムと Setup Windows と ConfigMgr タスクの間に Run コマンド ライン タスクを追加します。 Run Command Line タスクのコマンド ラインで、次のコマンドを入力してカスタム SetupComplete.cmd ファイルを削除します。
cmd.exe /c del SetupComplete.cmd %OSDTargetSystemDrive%\Windows\Setup\Scripts /F /Q