この記事の内容
- 全体の流れ
- 検証環境について
- 各ステップとログの追跡方法
- 関連ログ
- ログ抜粋の表記について
- テスト展開の情報
- ステップ 1 : 起動環境の準備
- ステップ 2 : ブート イメージの入手と Windows PE の起動
- ステップ 3 : 開始方法の判定と構成情報の読み込み
- ステップ 4 : タスク シーケンス ポリシーの取得と実行するタスク シーケンスの決定
- ステップ 5 : コンテンツの取得元の解決
- ステップ 6 : ディスクの構成と OS イメージの適用
- ステップ 7 : Windows 設定、ネットワーク設定、およびドライバーの適用
- ステップ 8 : セットアップ フックの組み込みとハード ディスクからの再起動
- ステップ 9 : フル OS でのタスク シーケンス再開とクライアントのインストール
- ステップ 10 : 残りのステップの実行と完了処理
- ログ確認のポイント
- 失敗したときに確認する箇所
- 参考リンク
皆様、こんにちは。Configuration Manager / WSUS サポート チームです。
本記事では、Microsoft Configuration Manager (ConfigMgr) で、オペレーティング システム [OS] が導入されていないコンピューターにタスク シーケンスで OS を新規に展開するときの動作と、ログの追跡方法をご案内します。タスク シーケンスを開始する 3 つの方法、[Preboot Execution Environment] [PXE] ブート、[起動メディア]、および [スタンドアロン メディア] を対象とし、開始方法によって何が変わり、どこから先が共通なのかを合わせて説明します。なお [起動メディア] は、Microsoft Learn では [起動可能なメディア] と表記されています。
対象は、いわゆるベア メタル展開 (新規インストール) です。既存の OS 上から実行する [インプレース アップグレード] のタスク シーケンス、[ユーザー状態] の移行そのものの詳細、[キャプチャ メディア]、[事前ステージ済みメディア]、[マルチキャスト] の動作、およびブート イメージ、OS イメージ、タスク シーケンス、メディアの作成手順そのものは対象外です。
本記事のログ抜粋は、検証環境で実際に実行した 3 回の OS 展開から取得したものです。PXE ブートは 2026-09-08 に、起動メディアとスタンドアロン メディアは 2026-09-18 に、同一の検証環境で実行しています。抜粋の出どころと加工内容は、[ログ抜粋の表記について] をご確認ください。
全体の流れ
全体の流れは以下のとおりです。ステップ 1 からステップ 5 までが開始方法によって異なる部分、ステップ 6 以降が 3 つの開始方法で共通の部分です。
- 開始方法に応じた起動環境を準備する
- ブート イメージを入手して Windows PE を起動する
- 開始方法を判定し、構成情報を読み込む
- タスク シーケンス ポリシーを取得し、実行するタスク シーケンスを決定する
- コンテンツの取得元を解決する
- Windows PE でディスクを構成し、OS イメージを適用する
- Windows の設定、ネットワーク設定、およびドライバーを適用する
- セットアップ フックを組み込み、ハード ディスクから再起動する
- フル OS でタスク シーケンスを再開し、Configuration Manager クライアントをインストールする
- 残りのステップを実行してタスク シーケンスを完了する
Windows PE フェーズとフル OS フェーズ
クライアントは、ステップ 2 で Windows PE を起動し、ステップ 3 からステップ 8 までを Windows PE 上で実行します。その後、ステップ 8 の最後に再起動し、ステップ 9 以降を新しくインストールした OS 上で実行します。
この境界にあたるのが [Windows および ConfigMgr のセットアップ] ステップです。このステップだけが Windows PE とフル OS の両方にまたがって動作し、その前後で smsts.log の出力先も切り替わります。
3 つの開始方法の位置づけ
ステップ 1 からステップ 5 までの違いをまとめると、以下のとおりです。
| 項目 | PXE ブート | 起動メディア | スタンドアロン メディア |
|---|---|---|---|
| ブート イメージの入手元 | 配布ポイントから Trivial File Transfer Protocol [TFTP] で受信します。 | メディア内の sources\boot.wim です。 | メディア内の sources\boot.wim です。 |
| 事前に必要な準備 | 配布ポイントで [PXE を有効にする] を構成します。 | [タスク シーケンス メディアの作成] ウィザードで作成します。 | [タスク シーケンス メディアの作成] ウィザードで作成します。 |
| タスク シーケンスの展開 | 必要です。 | 必要です。 | 不要です。メディアにタスク シーケンスが同梱されます。 |
| 実行時の管理ポイント | 必要です。 | 必要です。 | 不要です。 |
| タスク シーケンス ポリシーの入手元 | 管理ポイントです。 | 管理ポイントです。 | メディア内の SMS\data\Policy.xml です。 |
| コンテンツの取得元 | 配布ポイントです。 | 配布ポイントです。 | メディア内の SMS\PKG 配下です。 |
| [不明なコンピューター] の判定 | 配布ポイントと管理ポイントで行います。 | 管理ポイントで行います。 | 行いません。 |
| サイトへの状態メッセージ | 送信します。 | 送信します。 | 送信しません。 |
| 検証環境でのサイズ | — | 579.7 MB | 6,777.4 MB |
スタンドアロン メディアだけが、実行時にサイトへ一切接続しない点が最大の違いです。起動メディアは、ブート イメージをメディアから読み込むだけで、それ以降の動作は PXE ブートとほぼ同じです。
検証環境について
本記事の観測に使用した環境は以下のとおりです。
| 項目 | 内容 |
|---|---|
| サイト | Configuration Manager 5.00.9141 (バージョン 2509)。中央管理サイトと 2 つのプライマリ サイトによる階層構成。 |
| サイト システム | プライマリ サイト サーバーに管理ポイントと配布ポイントを同居。HTTP サイトで、拡張 HTTP を使用。 |
| 配布ポイント | [PXE を有効にする] および [不明なコンピューターのサポート] を有効化。[Windows 展開サービス] を使用しない PXE レスポンダー構成。 |
| クライアント | UEFI かつセキュア ブート有効の仮想マシン。ハード ディスクを消去した状態から開始。 |
| タスク シーケンス | [新しいタスク シーケンスの作成] ウィザードの [既存のイメージ パッケージのインストール] で作成した既定構成。 |
| 展開 | [All Unknown Computers] コレクションに対して [利用可能] (任意) として展開。スタンドアロン メディアでは展開を使用しません。 |
| メディア | いずれも [無人のオペレーティング システムの展開を許可する] を有効にして作成。起動メディアは [不明なコンピューターのサポート] を有効化。 |
[Windows 展開サービス] を使用しない PXE レスポンダー構成のため、検証環境には [RemoteInstall] フォルダーと [WDSServer] サービスは存在しません。この構成の詳細は、[参考リンク] の [ネットワーク上の OSD に PXE を使用する] をご確認ください。
メディアは無人として作成しているため、Windows PE 起動後に [タスク シーケンス ウィザード] は表示されません。起動メディアでは、メディア変数 SMSTSPreferredAdvertID に実行したい展開 ID を設定し、実行するタスク シーケンスを一意に決めています。
なお、検証に使用した仮想マシンのファームウェアでは、ISO 起動時の [Press any key to boot from CD or DVD] に応答できませんでした。そのため、ConfigMgr が作成したメディアの内容はそのままに、キー入力を求めない UEFI 起動イメージを用いて ISO を再作成して使用しています。メディアに格納されるファイルは ConfigMgr が作成したものと同一です。
各ステップとログの追跡方法
関連ログ
本記事で使用するログは以下のとおりです。
| ログ名 | 保存場所 | 主な用途 |
|---|---|---|
| CreateTsMedia.log | メディアを作成した ConfigMgr コンソール コンピューターの AdminUILog フォルダー | メディアの種類、作成オプション、同梱するポリシーとコンテンツ、および ISO の作成を確認します。 |
| SMSPXE.log | PXE 対応配布ポイントの <ConfigMgr インストール先>\Logs | PXE 要求の受信、システム レコードの照合、候補となる展開の判定、およびブート ファイルの送信を確認します。 |
| MP_ClientID.log | 管理ポイント | PXE またはメディアから開始したタスク シーケンスのクライアント ID 要求に対する応答を確認します。 |
| smsts.log | フェーズにより変わります (後述の [smsts.log の保存先はフェーズごとに変わる] を参照) | タスク シーケンスの実行全体を確認します。 |
| ccmsetup.log | C:\Windows\ccmsetup\Logs | [Windows および ConfigMgr のセットアップ] によるクライアントのインストールを確認します。 |
| setupact.log | C:\Windows\Panther | Windows セットアップ (ミニ セットアップ) の処理を確認します。 |
| distmgr.log | サイト サーバー | 配布ポイントの PXE 有効化処理を確認します。 |
| IIS ログ | 管理ポイントの C:\inetpub\logs\LogFiles 配下 | メディアから起動したクライアントが管理ポイントへ要求を送信しているかを確認します。 |
ログ抜粋の表記について
本記事の抜粋は、検証環境で実際に取得したログから、説明に必要な行だけを抜き出したものです。読みやすさのために以下の加工を行っています。
- 日時、スレッド ID、およびソース ファイル名を含む CMTrace 形式の属性部分を省略しています。
- 連続しない行を並べている箇所があります。一部の長い行は
...で省略しています。 - smsts.log は 1 つのファイルに複数のコンポーネントが出力するため、抜粋の先頭に
[TSManager]のようにコンポーネント名を付けています。実際のログでは、[CMTrace] の [コンポーネント] 列に表示される値です。SMSPXE.log と CreateTsMedia.log は単一のコンポーネントのみのため、この接頭辞を付けていません。 - サーバー名、ドメイン名、MAC アドレス、IP アドレス、GUID、コンピューター名、アダプター名、およびメディアのファイル名は、対応関係を保ったまま
CON-PS1SITE.contoso.comや<MAC>のような固定のプレースホルダーへ置換しています。
抜粋の出どころは、ステップの冒頭または抜粋の直前に、ログ名と保存先を明記しています。開始方法によって記録が異なる箇所では、どの開始方法の抜粋かを明記しています。
テスト展開の情報
本記事のログ抜粋に登場する ID は以下のとおりです。ログを追跡する際は、これらの ID を手掛かりにします。
| 項目 | 値 |
|---|---|
| 展開 ID | CS120006 |
| タスク シーケンス パッケージ ID | CS100010 |
| ポリシー割り当て ID | CS120006-CS100010-6F6BCC28 |
| ブート イメージ パッケージ ID | CS100002 |
| OS イメージ パッケージ ID | CS10000A |
| Configuration Manager クライアント パッケージ ID | CS100003 |
| ユーザー状態移行ツール パッケージ ID | CS100001 |
ステップ 1 : 起動環境の準備
PXE ブートでは、配布ポイントのプロパティで [PXE を有効にする] を構成します。有効化の処理はサイト サーバーの distmgr.log で確認できます。
起動メディアとスタンドアロン メディアでは、[ソフトウェア ライブラリ] - [オペレーティング システム] - [タスク シーケンス] から [タスク シーケンス メディアの作成] を実行します。実行内容は CreateTsMedia.log の冒頭に記録されます。
以下は、起動メディアを作成したときの CreateTsMedia.log の抜粋です。
1 | Begin media creation: |
以下は、スタンドアロン メディアを作成したときの、同じ CreateTsMedia.log の抜粋です。
1 | Begin media creation: |
[Media] の値が [boot] であれば起動メディア、[full] であればスタンドアロン メディアです。起動メディアにはブート イメージのパッケージ ID だけが記録され、スタンドアロン メディアにはタスク シーケンスのパッケージ ID が記録されます。この 1 行が、以降のすべての違いの起点です。
起動メディアでは、メディアが管理ポイントへ接続するための証明書が作成され、サイトに登録されます。
1 | Staging base files |
スタンドアロン メディアでは、証明書の作成に代えて、タスク シーケンスのポリシーとサイトのクライアント設定ポリシーがメディアへ取り込まれます。
1 | Retrieving policies for 'CS100010' Task Sequence used in stand-alone media |
続いて、タスク シーケンスが参照するコンテンツがメディアへ格納されます。
1 | Staging boot image package CS100002 |
[Staging Next Swm …] は、OS イメージが分割形式 [SWM] としてメディアへ書き込まれたことを示します。メディアは FAT32 ファイル システムを使用するため、4 GB を超える WIM ファイルは 4 GB 未満に分割されます。この動作は [参考リンク] の [スタンドアロン メディアの作成] に記載されています。
検証環境では、起動メディアの作成に約 69 秒、スタンドアロン メディアの作成に約 14.3 分を要しました。後者のうち約 10 分は [Staging OS Image Package] の処理でした。メディアの作成時間の大半は、コンテンツの格納です。
作成されたメディアのファイル構成は、以下のとおりです。
| パス | 起動メディア | スタンドアロン メディア |
|---|---|---|
| sources\boot.wim | あり | あり |
| SMS\bin | あり | あり |
| SMS\data\TsmBootstrap.ini | あり | あり |
| SMS\data\Variables.dat | あり | あり |
| SMS\data\Policy.xml | なし | あり (検証環境では約 1.1 MB) |
| SMS\PKG<パッケージ ID> | なし | あり (参照するパッケージごと) |
| VolumeId.xml | なし | あり |
SMS\data\TsmBootstrap.ini には、メディアの種類が記録されています。
1 | [MediaInfo] |
スタンドアロン メディアでは、MediaType の値が FullMedia になります。
ステップ 2 : ブート イメージの入手と Windows PE の起動
PXE ブートでは、クライアントがネットワーク ブートを開始すると、PXE 対応の配布ポイントが要求を受け取ります。配布ポイントは、まず管理ポイントへ問い合わせて、要求元がサイト データベースに登録済みかどうかを判定します。
以下は、PXE 対応配布ポイントの SMSPXE.log から、判定に関する行を抜き出したものです。
1 | PXE: <MAC>: Parsed a discover/solicit packet. |
[SMBIOS ID is NOT a match, MAC Address is NOT a match] と [Client machine is UNKNOWN] は、要求元がサイト データベースに存在しないことを示します。この場合、配布ポイントは [不明なコンピューター] 向けの展開だけを候補にします。
続いて、候補となるタスク シーケンス展開の一覧が出力されます。以下も同じ SMSPXE.log の、上記の直後に記録される行です。
1 | PXE: <MAC>: Task Sequence deployment(s) to unknown machines: |
各行は、展開 ID、ブート イメージ パッケージ ID、アーキテクチャ、必須 (mandatory) か任意 (optional) か、および判定結果の順に出力されます。
ここで [Using Task Sequence deployment CS120011] と記録されているのは、どのタスク シーケンスを実行するかの決定ではなく、送り返すブート イメージを決めるための選択です。公開情報のとおり、複数の候補が見つかった場合は展開 ID が最上位のものが使用されます。実行するタスク シーケンスは、Windows PE 起動後にステップ 4 で決定されます。
判定の根拠は、管理ポイントからの応答 XML でも確認できます。この XML は、同じ SMSPXE.log に [Client Boot TS reply:] に続けて 1 行で記録されます。以下は、その行に含まれる 5 つの TSInfo 要素のうち、今回実行した展開の要素だけを抜き出して改行したものです。
1 | <TSInfo DeploymentID="CS120006" PkgID="CS100010" BootImageID="CS100002" Architecture="9" |
Required は必須展開かどうか、AlreadyRun は同じ展開を実行済みかどうか、ForPXE は PXE で利用できるかどうかを表します。候補から特定の展開が消えている場合は、この XML の属性を確認すると、どの条件で除外されたかを絞り込めます。
なお、検証環境では 7 本のタスク シーケンスを [All Unknown Computers] へ展開していますが、応答に含まれたのは 5 本のみでした。除外された 2 本はいずれもインプレース アップグレード用でブート イメージを参照していないタスク シーケンスであり、Windows PE では実行できないためと考えられます。これは本検証のログから確認できた範囲の事実です。
判定が完了すると、配布ポイントは応答パケットにブート ファイル名を設定して返し、続いて TFTP でファイルを送信します。
1 | Packet: Operation: 2 (reply), ... BootFile: smsboot\CS100002\x64\wdsmgfw.efi, ... |
BootFile に含まれる CS100002 がブート イメージのパッケージ ID です。ここで意図しないブート イメージが選択されていないかを確認します。BootFile が空の場合は、配布ポイントがブートを拒否しています。
任意 (optional) の展開では、この段階でネットワーク ブートを続行するためのキー入力が必要です。入力がない場合、コンピューターは次のブート デバイスへ処理を移します。必須 (mandatory) の展開では、キー入力なしで処理が続行されます。
起動メディアとスタンドアロン メディアでは、この一連のやり取りは発生しません。ブート イメージはメディア内の sources\boot.wim から直接読み込まれ、配布ポイントも管理ポイントも関与しません。
ステップ 3 : 開始方法の判定と構成情報の読み込み
Windows PE が起動すると、以降の記録はクライアント側の smsts.log に移ります。Windows PE 側では TSBootShell.exe が最初に動作し、どこから起動したかを判定します。
以下は、PXE ブートしたときのクライアントの smsts.log (Windows PE フェーズ) の抜粋です。
1 | [TSBootShell] ==============================[ TSBootShell.exe ]============================== |
以下は、起動メディアから起動したときの、同じ smsts.log の抜粋です。スタンドアロン メディアでも同じ記録になります。
1 | [TSBootShell] RAM Disk Boot Path: MULTI(0)DISK(0)CDROM(0)\SOURCES\BOOT.WIM |
[Booted from network (PXE)] と [Booted from removable media] が、開始方法を最初に区別する行です。あわせて TsmBootstrap.exe の /configpath も変わります。PXE ブートでは Windows PE 内の X:\sms\data\ が、メディアからの起動ではメディアのドライブ レター (検証環境では D:) が渡されます。この /configpath が、次に読み込む構成情報の場所です。
続いて TsmBootstrap.exe が、PXE ブートかどうかを改めて確認します。以下は起動メディアから起動したときの抜粋です。
1 | [TSMBootstrap] Unable to open PXE registry key. Not a PXE boot. |
[MediaType] には、ステップ 1 でメディアに書き込まれた TsmBootstrap.ini の値がそのまま出力されます。スタンドアロン メディアでは [MediaType = FullMedia] になります。開始方法を一意に確定させたい場合は、この 1 行を確認します。PXE ブートでは、この [MediaType] の行自体が記録されません。
メディアから起動した場合、TsmBootstrap.exe はメディア上の Variables.dat を読み込み、メディア作成時に決定した設定をタスク シーケンス環境へ展開します。
1 | [TSMBootstrap] Loading variables from the Task Sequencing Removable Media. |
いずれの開始方法でも、この段階でネットワーク アダプターが認識されている必要があります。
1 | [TSMBootstrap] Found network adapter "<アダプター名>" with IP Address <クライアント IP>. |
ネットワーク アダプターが認識されない場合は、ブート イメージへのネットワーク ドライバーの追加状況を確認します。ただしスタンドアロン メディアでは、この後の処理でネットワークを使用しないため、アダプターが無くてもタスク シーケンス自体は進行します。
ステップ 4 : タスク シーケンス ポリシーの取得と実行するタスク シーケンスの決定
PXE ブートと起動メディアでは、管理ポイントからポリシーを取得します。以下は PXE ブートしたときの smsts.log の抜粋です。
1 | [TSMBootstrap] site=PS1,PS1, MP=http://CON-PS1SITE.contoso.com, ports: http=80,https=443 |
ポリシー割り当ての ID は、展開 ID とタスク シーケンス パッケージ ID を連結した形式です。目的の展開が列挙されない場合は、展開先コレクションへの所属、展開の有効化時刻、および配布ポイントへのコンテンツ配布状況を確認します。
起動メディアでは、管理ポイントへ接続する前に、メディアに埋め込まれた証明書で認証情報を組み立てます。以下は起動メディアから起動したときの smsts.log の抜粋です。
1 | [TSMBootstrap] Authenticator from the environment is empty. |
[Using the following user-defined management point locations] に出力されるのは、メディア作成時に指定した管理ポイントです。[MPKEYINFORMATIONMEDIA] は、メディアから開始したときにだけ送信される要求です。管理ポイント側では、IIS ログでこの要求を確認できます。
1 | GET /SMS_MP/.sms_aut MPKEYINFORMATIONMEDIA 80 - <クライアント IP> SMS+CCM+5.0+TS 200 0 0 |
起動メディアでも、要求元がサイト データベースに登録済みかどうかの判定が行われます。PXE ブートでは配布ポイントが先に判定していましたが、起動メディアには配布ポイント側のログが存在しないため、判定の記録はクライアントの smsts.log だけになります。
1 | [TSMBootstrap] Setting SMBIOS GUID = <SMBIOS GUID>. |
一方、スタンドアロン メディアでは管理ポイントへの接続は行わず、メディア上のポリシー ファイルを直接読み込みます。
1 | [TSMBootstrap] Loading policy from D:\sms\data\Policy.XML. |
スタンドアロン メディアの smsts.log には、管理ポイントへの HTTP 要求を示す行が一切現れません。コレクション変数やコンピューター変数も、サイトから取得されないため 0 件になります。これらをタスク シーケンスで使用している場合は、メディア作成時に変数を指定する必要があります。
ポリシーが揃うと、実行するタスク シーケンスが決定されます。任意の展開が複数ある場合は [タスク シーケンス ウィザード] が表示され、実行するタスク シーケンスをユーザーが選択します。無人のメディアで SMSTSPreferredAdvertID を指定している場合は、ウィザードを表示せずに展開 ID が選択されます。
1 | [TSMBootstrap] Running Wizard in Unattended mode |
スタンドアロン メディアでは、実行するタスク シーケンスがメディア作成時に確定しているため、この選択処理自体がありません。ポリシーの読み込みに続いて、そのままタスク シーケンス環境の作成へ進みます。
ステップ 5 : コンテンツの取得元の解決
タスク シーケンスが決まると、参照するパッケージごとにポリシーとコンテンツの場所が解決されます。
PXE ブートと起動メディアでは、配布ポイントの URL が解決されます。
1 | [TSMBootstrap] Successfully resolved policy for CS10000A. |
[Successfully resolved policy] と [content location] が、参照するすべてのパッケージ (本検証では OS イメージ、ブート イメージ、クライアント パッケージ、ユーザー状態移行ツール パッケージ) について記録されていることを確認します。ここでコンテンツの場所が解決できない場合は、境界グループに対する配布ポイントの割り当てと、対象パッケージの配布状況を確認します。
スタンドアロン メディアでは、同じ箇所がメディア上のパスになります。
1 | [TSMBootstrap] Resolving content location for CS100001 |
[file:VOL001:] は、メディアのボリュームを指す表記です。コンテンツの取得元を確認したい場合は、[content location] の行が [http] で始まるか [file:VOL001:] で始まるかを見ます。
ステップ 6 : ディスクの構成と OS イメージの適用
本ステップ以降は、3 つの開始方法で共通です。以下の抜粋は、断りのない限り PXE ブートで実行したときのクライアントの smsts.log (Windows PE フェーズ) からのものです。
ポリシーの解決が完了すると、TSManager.exe がタスク シーケンス エンジンとして実行を開始します。
1 | [TSManager] Executing in WinPE |
[Executing in WinPE] は Windows PE で実行中であることを示します。フル OS では [NOT executing in WinPE] になります。
以降、エンジンは 1 ステップずつ [Start executing an instruction] を記録しながら進みます。実行位置は _SMSTSNextInstructionPointer に保持され、再起動をまたいでも同じ位置から再開されます。
条件が false と評価されたステップは、実行されずにスキップされます。
1 | [TSManager] Start executing an instruction. Instruction name: 'Partition Disk 0 - BIOS'. Pointer: 11. Type: 'SMS_TaskSequence_PartitionDiskAction'. Disabled: 0 |
既定のタスク シーケンスには [Partition Disk 0 - BIOS] と [Partition Disk 0 - UEFI] の 2 つのステップが含まれ、ファームウェアの種類に応じてどちらか一方だけが実行されます。UEFI のコンピューターでは BIOS 用のステップがスキップされます。
[ディスクのフォーマットとパーティション分割] の実処理は OSDDiskPart.exe が担当し、実行された diskpart のスクリプトがそのまま記録されます。
1 | [OSDDiskPart] ==============================[ OSDDiskPart.exe ]============================== |
ディスクが確保されると、タスク シーケンスは作業フォルダー C:_SMSTaskSequence を作成し、以降のコンテンツをここへダウンロードします。
1 | [TSManager] C:\_SMSTaskSequence does not exist |
[オペレーティング システム イメージの適用] ステップでは、OSDApplyOS.exe が OS イメージを取得し、対象ボリュームへ適用します。PXE ブートと起動メディアでは、配布ポイントからのダウンロードになります。
1 | [TSManager] Executing command line: OSDApplyOS.exe /image:CS10000A,%OSDImageIndex% /runfromnet:False |
/image に続くのが OS イメージのパッケージ ID とイメージ インデックスです。意図したエディションが選択されているかは、このインデックスで確認します。検証環境では、ダウンロードに約 2 分 10 秒、イメージの適用に約 4 分 20 秒を要しました。
[Downloaded file] が記録されない場合はコンテンツの取得に失敗しています。境界グループ、配布ポイントの割り当て、およびクライアント側のネットワーク構成を確認します。
スタンドアロン メディアでは、ダウンロードを伴わずメディアから直接適用されます。以下はスタンドアロン メディアで実行したときの smsts.log の抜粋です。
1 | [ApplyOperatingSystem] ResolveSource flags: 0x00000001 |
[wim file not found, looking for spanned images..] は、ステップ 1 で分割形式として格納された OS イメージを探していることを示します。エラーではありません。
ステップ 7 : Windows 設定、ネットワーク設定、およびドライバーの適用
本ステップの抜粋も、クライアントの smsts.log (Windows PE フェーズ) からのものです。
イメージの適用後、Windows PE 上で 3 つのステップが続けて実行されます。いずれも設定を応答ファイルへ書き込む、またはドライバーを配置するステップであり、この時点では Windows は起動していません。
1 | [TSManager] Start executing an instruction. Instruction name: 'Apply Windows Settings'. ... |
[Apply Network Settings] で記録される [Configuring “OSDNetSettings.exe finalize” to run on first boot] は、ドメイン参加を含むネットワーク設定の確定処理を、フル OS の初回起動時に実行するよう予約したことを示します。実際の確定処理はステップ 9 で行われます。
[Apply Device Drivers] は、ハードウェアを列挙して管理ポイントへ問い合わせ、該当するドライバーをダウンロードして C:_SMSTaskSequence\drivers へ配置します。ドライバーが適用されない場合は、このステップのログでドライバー カタログへの問い合わせ結果を確認し、必要に応じて管理ポイントの MP_DriverManager.log を併せて確認します。なおスタンドアロン メディアでは管理ポイントへ問い合わせできないため、[ドライバーの自動適用] はサポートされません。詳細は [参考リンク] の [スタンドアロン メディアの作成] をご確認ください。
ステップ 8 : セットアップ フックの組み込みとハード ディスクからの再起動
本ステップの抜粋も、クライアントの smsts.log (Windows PE フェーズ) からのものです。
Windows PE フェーズの最後が [Windows および ConfigMgr のセットアップ] ステップです。このステップは OSDSetupWindows.exe が担当し、Windows PE 側では、適用済みの OS へセットアップ フックを組み込みます。
1 | [TSManager] Start executing an instruction. Instruction name: 'Setup Windows and Configuration Manager'. Pointer: 20. Type: 'SMS_TaskSequence_SetupWindowsAndSMSAction'. Disabled: 0 |
適用したイメージ内のレジストリをオフラインで読み込み、Configuration Manager クライアントの有無を確認しています。イメージにクライアントが含まれていた場合は、ここでサービスの自動起動が無効化されます。
処理が完了すると、エンジンは再起動を要求し、Windows PE を終了します。
1 | [TSManager] Reboot to local hard disk |
[Reboot to local hard disk] は、次回の起動をハード ディスクから行うことを示します。エンジンの戻り値 [Reboot (2)] と 0x80070BC2 (ERROR_SUCCESS_REBOOT_REQUIRED) は、エラーではなく再起動要求です。
このタイミングで、Windows PE 上の X:\Windows\TEMP\SMSTSLog\smsts.log が C:\SMSTSLog へ退避されます。Windows PE フェーズの調査には、この C:\SMSTSLog\smsts.log を使用します。
メディアから起動している場合、スタンドアロン メディアは以降のステップでもメディアを参照します。詳細は [スタンドアロン メディアは実行中もメディアを保持する] をご確認ください。
ステップ 9 : フル OS でのタスク シーケンス再開とクライアントのインストール
本ステップ以降の抜粋は、クライアントの smsts.log (フル OS フェーズ) からのものです。
再起動後、Windows のミニ セットアップが実行され、その完了時に SetupComplete.cmd 経由でセットアップ フックが起動します。検証環境では、再起動からセットアップ フックの起動まで約 5 分を要しました。
セットアップ フックは 2 回実行されます。1 回目は再起動を要求して終了し、2 回目でタスク シーケンス環境を読み込みます。
1 | [OSDSetupHook] ==============================[ OSDSetupHook.exe ]============================== |
C:_SMSTaskSequence\TSEnv.dat が、Windows PE で設定したタスク シーケンス変数と実行位置を保持しているファイルです。これを読み込むことで、再起動をまたいで同じ位置から実行を再開できます。
続いて、ローカル管理者アカウントの構成や時刻同期などの初期化が行われ、Configuration Manager クライアントがインストールされます。
1 | [OSDSetupHook] Clients is joined to a domain. |
[Clients is joined to a domain.] により、ステップ 7 で予約したネットワーク設定の確定処理でドメイン参加が完了していることを確認できます。クライアントは、ステップ 5 で解決したクライアント パッケージ (本検証では CS100003) をソースとしてローカルからインストールされます。インストールの詳細は ccmsetup.log を確認します。検証環境では、クライアントのインストールに約 3 分 20 秒を要しました。
クライアントのインストールが完了すると、TsmBootstrap.exe と TSManager.exe がフル OS 上で起動し、中断したステップから実行が再開されます。
1 | [TSManager] NOT executing in WinPE |
実行位置 (Pointer) がステップ 8 と同じ 20 である点にご注目ください。[Windows および ConfigMgr のセットアップ] は 1 つのステップでありながら、Windows PE で開始してフル OS で完了します。
なお、この時点のクライアントは [プロビジョニング モード] で動作しており、タスク シーケンスが完了するまで新しいポリシー要求を処理しません。
ステップ 10 : 残りのステップの実行と完了処理
本ステップの抜粋も、クライアントの smsts.log (フル OS フェーズ) からのものです。
以降は、フル OS 上で残りのステップが順に実行されます。
1 | [TSManager] Start executing an instruction. Instruction name: 'Enable BitLocker'. ... |
[The execution engine ignored the failure of the action] は、そのステップで [エラー時に続行] が有効になっているため、失敗してもタスク シーケンス全体は継続することを示します。ステップ単位の失敗を見落とさないためには、この行の有無を確認します。
スタンドアロン メディアでは、この区間の動作が一部変わります。既定のタスク シーケンスには、スタンドアロン メディアでは実行しない条件が設定されたステップが含まれます。
1 | [TSManager] Start executing an instruction. Instruction name: 'Install Updates'. Pointer: 22. Type: 'SMS_TaskSequence_InstallUpdateAction'. Disabled: 0 |
[ソフトウェア更新プログラムのインストール] ステップには、既定で [_SMSTSMediaType が FullMedia と等しくない] という条件が設定されています。スタンドアロン メディアではサイトへ接続できないため、このステップはスキップされます。ソフトウェア更新プログラムのインストールがスタンドアロン メディアでサポートされないことは、[参考リンク] の [スタンドアロン メディアの作成] に記載されています。
また、スタンドアロン メディアでは、各ステップの後に状態メッセージを送信しない旨が記録されます。
1 | [TSManager] Successfully completed the action (Enable BitLocker) with the exit win32 code 0 |
PXE ブートと起動メディアで実行した場合は、同じ箇所で [Sending StatusMessage] が記録されます。検証環境では、スタンドアロン メディアの smsts.log に [Sending StatusMessage] は 1 件も記録されず、起動メディアの smsts.log には記録されていました。サイトに接続しないため、スタンドアロン メディアで実行した結果は ConfigMgr コンソールの展開状態に反映されません。実行結果はクライアント側の smsts.log で確認します。
すべてのステップが終わると、エンジンが結果コードを記録し、セットアップ フックが後片付けを行います。
1 | [TSManager] The task execution engine successfully completed the current task sequence step |
[Execution engine result code: Success (0)] と [Task sequence completed 0x00000000] が、タスク シーケンスの正常終了を示します。その後、[Exiting SetClientProvisioningMode 0x00000000] でプロビジョニング モードが解除され、クライアントが通常運用に切り替わります。
最後の [Successfully finalized logs to SMS client log directory] により、すべてのログが C:\Windows\CCM\Logs に集約されます。展開が完了したコンピューターを調査する場合は、まずこのログを確認します。
検証環境で要した時間は、以下のとおりです。
| 開始方法 | メディアの作成 | OS 展開の開始から完了まで |
|---|---|---|
| PXE ブート | — | 約 25 分 |
| 起動メディア | 約 69 秒 (579.7 MB) | 約 25 分 |
| スタンドアロン メディア | 約 14.3 分 (6,777.4 MB) | 約 24 分 |
ログ確認のポイント
smsts.log の保存先はフェーズごとに変わる
smsts.log は 1 つのファイルではなく、フェーズごとに異なる場所へ出力されます。検証環境の PXE ブートで確認できた保存先は以下のとおりです。
| フェーズ | 保存先 | 内容 |
|---|---|---|
| Windows PE 実行中 | X:\Windows\TEMP\SMSTSLog\smsts.log | ステップ 3 からステップ 8 まで。Windows PE を終了すると失われます。 |
| Windows PE 終了時 | C:\SMSTSLog\smsts.log | Windows PE フェーズの記録がハード ディスクへ退避されたもの。 |
| フル OS フェーズ | C:_SMSTaskSequence\Logs | セットアップ フックの起動から再開後のステップまで。タスク シーケンスの完了時に C:_SMSTaskSequence ごと削除されます。 |
| タスク シーケンス完了後 | C:\Windows\CCM\Logs\smsts.log | 全フェーズを集約したもの。 |
上記に加えて、検証環境では進行状況 UI の記録だけを含む C:\Windows\Temp\SMSTSLog\smsts.log も残っていました。調査には、集約後の C:\Windows\CCM\Logs\smsts.log と、Windows PE フェーズの C:\SMSTSLog\smsts.log を使用します。
なお、起動メディアとスタンドアロン メディアで実行した検証では、完了後のクライアントに C:\SMSTSLog\smsts.log は残っていませんでした。この場合も、集約後の C:\Windows\CCM\Logs\smsts.log には Windows PE フェーズの記録が含まれます。
Windows PE の途中で失敗した場合は、Windows PE が終了すると X: ドライブごと記録が失われます。タスク シーケンス変数 SMSTSLogPath でログの出力先を変更する方法や、失敗時に [コマンド ラインの実行] でログをコピーする方法を、あらかじめ検討ください。
実行結果を判断する行
タスク シーケンスの結果は、以下の行で判断します。
| 確認する内容 | 記録される行 |
|---|---|
| 開始方法 | Booted from network (PXE) または Booted from removable media、および MediaType = BootMedia または MediaType = FullMedia |
| ステップの開始 | Start executing an instruction. Instruction name: ‘<ステップ名>’. Pointer: <実行位置>. |
| ステップの正常終了 | Successfully completed the action (<ステップ名>) with the exit win32 code 0 |
| 条件によるスキップ | The action (<ステップ名>) has been skipped because the condition is evaluated to be false |
| エラー時に続行による継続 | The execution engine ignored the failure of the action (<ステップ名>) and continues execution |
| 再起動要求 | Execution engine result code: Reboot (2) |
| タスク シーケンス全体の成功 | Execution engine result code: Success (0) および Task sequence completed 0x00000000 |
スタンドアロン メディアは実行中もメディアを保持する
スタンドアロン メディアは、コンテンツをメディアから読み出します。そのため、タスク シーケンスが後半のステップでコンテンツを必要とする場合、その時点でメディアが接続されている必要があります。
検証環境では、[BitLocker を有効にする] ステップで [BitLocker ドライブ暗号化により、起動可能なメディアがコンピューターで検出されました。メディアを取り外してから、[OK] をクリックして続行してください。] という趣旨のダイアログが表示され、メディアを取り外して続行した後、[ユーザー ファイルと設定の復元] ステップで [タスク シーケンス用のメディア #1 を挿入し、[OK] をクリックしてください。] という趣旨のダイアログが表示されました。ログ上は、ユーザー状態移行ツールのパッケージをメディアから解決しようとした箇所に対応します。
1 | [OSDUSMT] ResolveSource flags: 0x00000000 |
無人での運用を想定する場合は、タスク シーケンスの構成とメディアの取り扱いを合わせて設計ください。
同じコンピューターを再展開すると起動メディアの候補が変わる
起動メディアは、実行のたびに SMBIOS GUID と MAC アドレスを管理ポイントへ送り、[不明なコンピューター] かどうかを判定し直します。前回の OS 展開でサイトにデバイス レコードが作成されていると、判定結果が [Known] となり、[All Unknown Computers] を対象とした展開は候補から外れます。
検証環境で、前回の展開で作成されたデバイス レコードを残したまま起動メディアを実行したところ、Windows PE の起動と管理ポイントとの通信はすべて成功しているにもかかわらず、タスク シーケンスが 1 つも見つからない状態になりました。
1 | [TSMBootstrap] Client Identity: GUID:<クライアント GUID> |
[Successfully read 130 policy assignments.] のように多くのポリシーが読み込まれていても、その中にタスク シーケンス展開が含まれているとは限りません。判断に使用するのは、直後の [available deployments] の行です。
無人のメディアではウィザードが表示されないため、エラー画面も表示されずにコンピューターが再起動します。外形的には [Windows PE が短時間で再起動を繰り返す] ようにしか見えない点にご注意ください。
再展開する場合は、対象のデバイス レコードを削除するか、そのデバイスが所属するコレクションに対してタスク シーケンスを展開ください。PXE ブートの場合は、同じ判定が SMSPXE.log の [System records:] に記録されます。
失敗したときに確認する箇所
| 症状 | 確認するログと確認箇所 |
|---|---|
| PXE で起動しない | SMSPXE.log。System records の照合結果、候補となる展開の一覧、応答パケットの BootFile が空でないこと。 |
| メディアから起動しない | ファームウェアのブート順とセキュア ブートの設定。CreateTsMedia.log で ISO が正常に作成されていること。 |
| どの開始方法で起動したか分からない | smsts.log の [Booted from network (PXE)] または [Booted from removable media]、および [MediaType = BootMedia] または [MediaType = FullMedia]。 |
| タスク シーケンスの一覧に表示されない | PXE ブートは SMSPXE.log の Client Boot TS reply にある Required、AlreadyRun、ForPXE、Expired の各属性。起動メディアは smsts.log の [State = ] と [available deployments] の行。 |
| 起動メディアが管理ポイントに到達できない | smsts.log の [Using the following user-defined management point locations] と、その後の要求の結果。管理ポイントの IIS ログで [MPKEYINFORMATIONMEDIA] の有無も確認します。 |
| Windows PE で管理ポイントに到達できない | smsts.log。Found network adapter の有無と、Downloading policy from の結果。ブート イメージへのネットワーク ドライバーの追加状況。 |
| コンテンツをダウンロードできない | smsts.log。Resolving content location と Downloaded file。境界グループへの配布ポイントの割り当てとコンテンツの配布状況。 |
| スタンドアロン メディアでコンテンツが見つからない | smsts.log の [content location] が [file:VOL001:] になっているか。メディアが接続されたままかを確認します。 |
| メディアの作成に失敗する | CreateTsMedia.log の [Size available] と [size required]、および [Staging] 行。出力先と一時フォルダーの空き容量を確認します。 |
| 再起動後にタスク シーケンスが再開しない | C:_SMSTaskSequence\Logs 配下の smsts.log。OSDSetupHook.exe の起動と TSEnv.dat の読み込み。 |
| クライアントがインストールされない | smsts.log の OSDSetupHook による ccmsetup.exe の実行結果、および ccmsetup.log。 |
| スタンドアロン メディアの結果がコンソールに出ない | smsts.log の [Do not send status message in full media case]。仕様上、サイトへ状態メッセージは送信されません。 |