注
元の発行日: 2026 年 3 月 16 日
最終更新日: 2026 年 5 月 12 日
KB ID: 5084567
この記事の内容
- 概要
- 主な機能
- Certificate Updates Settings Reference
- アーキテクチャ
- フェーズ 1: エンタープライズ レベルでの検出と状態監視
- フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト
- E2E の展開手順 (クイック リファレンス ガイド)
- トラブルシューティング
- 変更ログ
概要
このガイドでは、グループ グループ ポリシーとプログレッシブ ロールアウト ウェーブを使用した、Windows セキュア ブート DB 証明書更新プログラムの自動展開システムについて説明します。
セキュア ブート証明書ロールアウト自動化は、Windows セキュア ブート DB 証明書の更新プログラムを、制御された段階的な方法でドメインに参加しているコンピューターに展開する PowerShell ベースのシステムです。
主な機能
| 機能 | 説明 |
|---|---|
| 段階的なロールアウト | 1 > 2 > 4 > 8... バケットあたりのデバイス数 |
| 自動ブロック | 到達不能なデバイスを含むバケットは除外されます |
| GPO の自動展開 | 1 つのオーケストレータ スクリプトですべてを処理する |
| スケジュールされたタスク実行 | 対話型のプロンプトは必要ありません |
| リアルタイム監視 | 進行状況バー付きのステータス ビューアー |
Certificate Updates Settings Reference
このセクションの内容
AvailableUpdatesPolicy グループ ポリシー
| レジストリの場所 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|---|---|
| 名前 | AvailableUpdatesPolicy |
| 値 | 0x5944 (DWORD) |
これは GPO/ADMX で制御されるキーで、以下のことを行います。
- 再起動しても保持される
- グループ ポリシー/MDM によって設定されます
- 再試行ループが発生しません (ClearRolloutFlags によってクリアされます)
- Is the correct key for policy-driven deployment
参照: IT で管理された更新プログラムを含む Windows デバイスのセキュア ブートのグループ ポリシー オブジェクト (GPO) メソッド
「Certificate Updates Settings Reference」に戻る
WinCSFlags - Windows 構成システム フラグ
ドメイン管理者は、別の方法で、Windows OS 更新プログラムと共にリリースされた Windows 構成システム (WinCS) を使用して、ドメインに参加している Windows クライアントとサーバーにセキュア ブート更新プログラムを展開できます。 これは、セキュア ブート構成を照会してコンピューターのローカルに適用するための コマンドライン インターフェイス (CLI) ユーティリティ で構成されています。
| 機能名 | WinCS キー | 説明 |
|---|---|---|
| Feature_AllKeysAndBootMgrByWinCS | F33E0C8E002 | このキーを有効にすると、次の Microsoft 提供のセキュア ブート新しい証明書をデバイスにインストールできます。
|
参照: セキュア ブートのための Windows 構成システム (WinCS) API
「Certificate Updates Settings Reference」に戻る
アーキテクチャ
フェーズ 1: エンタープライズ レベルでの検出と状態の監視
このセクションの内容
フェーズ 1 に必要なスクリプト
セキュア ブート インベントリ データ収集スクリプトのサンプル
注
重要 サンプル スクリプトを含む次の記事は更新されました。 2026 年 5 月 12 日以降にリリースされた Windows 更新プログラムをインストールした場合、サンプル スクリプトはデバイスの %systemroot%\SecureBoot\ExampleRolloutScripts フォルダーにあります。
| サンプル スクリプト名 | 用途 | 上で実行 |
|---|---|---|
| サンプル Detect-SecureBootCertUpdateStatus.ps1 スクリプト | デバイス状態データを収集します | 各エンドポイント (GPO 経由) |
| サンプル Aggregate-SecureBootData.ps1 スクリプト | レポートとダッシュボードを生成します | 管理ワークステーション |
| サンプル Deploy-GPO-SecureBootCollection.ps1 スクリプト | データ収集用の GPO 作成を自動化します | ドメイン コントローラー |
上記のフェーズ 1 スクリプトからのサンプル出力
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
ローカル テスト
GPO を使用してデプロイする前に、単一のコンピューターでコレクション スクリプトをテストして機能を確認します。
コレクション スクリプトをローカルで実行
管理者特権の PowerShell プロンプトを開き、次を実行します。
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"JSON 出力の確認
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List検証するキー フィールド
• SecureBootEnabled – True または False である必要があります
• OverallStatus – Complete、ReadyForUpdate、NeedsData、または Error
• BucketHash – 信頼度データ照合のためのデバイスバケット
• SecureBootTaskEnabled - セキュア ブート更新タスクの状態を表示します。集計スクリプトのテスト
# Generate reports from collected data & ".\Aggregate-SecureBootData.ps1" ` -InputPath "C:\Temp\SecureBootTest" ` -OutputPath "C:\Temp\SecureBootReports" # Open the HTML dashboard Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
ネットワーク共有のセットアップ
ネットワーク共有を作成する
ファイル サーバー上に、収集データ専用の共有を作成します。
# Run on file server as Administrator $SharePath = "D:\SecureBootCollection" $ShareName = "SecureBootData$" # Create folder New-Item -ItemType Directory -Path $SharePath -Force # Create hidden share ($ suffix hides from browse list) New-SmbShare -Name $ShareName -Path $SharePath ` -Description "Secure Boot Certificate Status Collection" ` -FullAccess "Domain Admins" ` -ChangeAccess "Domain Computers"NTFS アクセス許可の構成
# Get current ACL $Acl = Get-Acl $SharePath # Allow Authenticated Users to write files $WriteRule = New-Object System.Security.AccessControl.FileSystemAccessRule( "Domain Computers", "Modify", "ContainerInherit,ObjectInherit", "None", "Allow" ) $Acl.AddAccessRule($WriteRule) # Allow Domain Admins full control (for aggregation) $AdminRule = New-Object System.Security.AccessControl.FileSystemAccessRule( "Domain Admins", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow" ) $Acl.AddAccessRule($AdminRule) # Apply permissions Set-Acl -Path $SharePath -AclObject $Acl共有アクセスの確認
# Test from a domain-joined workstation Test-Path "\\fileserver\SecureBootData$" # Should return: True
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
GPO のデプロイ
ドメイン コントローラーから提供されたオートメーション スクリプトを使用します。
# Run on Domain Controller as Domain Admin for interactive OU Section – Recommended
# Replace the “Contoso.com”, “Contoso” with the name of the domain
# Replace FILESERVER with the file server name. Script shows list of OUs to deploy GPO on
.\Deploy-GPO-SecureBootCollection.ps1 `
-DomainName "contoso.com" `
-AutoDetectOU `
-CollectionSharePath "\\FILESERVER\SecureBootData$" `
-ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" `
-Schedule "Daily" `
-ScheduleTime "14:00" `
-RandomDelayHours 4
このスクリプトでは、次のことが実行されます。
- 指定した名前で新しい GPO を作成します
- 高可用性のためにコレクション スクリプトを SYSVOL にコピーします
- コンピューターのスタートアップ スクリプトを構成します
- GPO をターゲット OU にリンクします
- 必要に応じて、定期的な収集のスケジュールされたタスクを作成します
次の表は、フリート サイズに基づいた遅延の長さに関するガイダンスを示しています。
| フリート サイズ | 遅延範囲 |
|---|---|
| 1 から 10K のデバイス | 4 時間 |
| 10K - 50K のデバイス | 8 時間 |
| 50K+ デバイス | 12 〜 24 時間 |
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
GPO 設定の概要
| 設定 | [場所] | 値 |
|---|---|---|
| スタートアップ スクリプト | コンピューター構成→スクリプト | Detect-SecureBootCertUpdateStatus.ps1 |
| スクリプト パラメーター | (同じ) | -OutputPath "\\server\share$" |
| 実行ポリシー | PowerShell →コンピューター構成→ 管理テンプレート | ローカルおよびリモートの署名を許可する |
| スケジュールされたタスク | コンピューター構成→基本設定→スケジュールされたタスク | 日次/週次コレクション |
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
検証
テスト マシンで GPO を強制的に更新する e
# On a test workstation gpupdate /force # Reboot the client machines to startup script or it will trigger on next schedule. Restart-Computer -Forceデータ収集の確認
# Check if data was collected (on file server or from any machine) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object LastWriteTime -Descending | Select-Object -First 10 # Verify JSON content Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-JsonGPO アプリケーションを確認する
# Verify GPO is applied to the computer gpresult /r | Select-String "SecureBoot" # The script also saves a local copy for redundancy. Get-ChildItem "C:\ProgramData\SecureBootCollection\"
「フェーズ 1: エンタープライズ レベルでの検出と状態の監視」に戻る
フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト
重要
各エンドポイントでリモート サーバー共有へのデータ収集を含むフェーズ 1 が完了していることを確認します。
このセクションの内容
- フェーズ 2 に必要なスクリプト
- Start-SecureBootRolloutOrchestrator.ps1
- Deploy-OrchestratorTask.ps1
- Get-SecureBootRolloutStatus.ps1
フェーズ 2 に必要なスクリプト
セキュア ブート インベントリ データ収集スクリプトのサンプル
注
重要 サンプル スクリプトを含む次の記事は更新されました。 2026 年 5 月 12 日以降にリリースされた Windows 更新プログラムをインストールした場合、サンプル スクリプトはデバイスの %systemroot%\SecureBoot\ExampleRolloutScripts フォルダーにあります。
| サンプル スクリプト名 | 用途 | 動作環境 |
|---|---|---|
| サンプル Detect-SecureBootCertUpdateStatus.ps1 スクリプト | デバイス状態データを収集します | 各エンドポイント (GPO 経由) |
| サンプル Aggregate-SecureBootData.ps1 スクリプト | レポートとダッシュボードを生成します | 管理ワークステーション |
| サンプル Deploy-GPO-SecureBootCollection.ps1 スクリプト | データ収集用の GPO 作成を自動化します | ドメイン コントローラー |
| サンプル Start-SecureBootRolloutOrchestrator.ps1 スクリプト | 証明書のインストール用の自動 GPO デプロイによる完全に自動化された継続的なオーケストレーション | 管理ワークステーション |
| サンプル Deploy-OrchestratorTask.ps1 スクリプト | 自動ロールアウトのスケジュールされたタスクとして Orchestrator スクリプトをデプロイします | ドメイン コントローラー |
| サンプル Get-SecureBootRolloutStatus.ps1 スクリプト | 任意のワークステーションからセキュア ブート証明書のロールアウト状態を表示する | 管理ワークステーション |
| サンプル Enable-SecureBootUpdateTask.ps1 スクリプト | セキュア ブート更新タスクを有効にします | On タスクが無効になっているエンドポイント (無効になっている場合は、タスクを有効にするために 1 回だけ実行します) |
「フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト」に戻ります。
Start-SecureBootRolloutOrchestrator.ps1
目的: GPO の自動展開による完全に自動化された継続的なオーケストレーション。
目的
デバイス状態の Aggregate-SecureBootData.ps1 を呼び出します
プログレッシブダブリングを使用してロールアウト ウェーブを生成します
次のいずれかの方法を使用して、証明書の展開用の GPO を作成します
- セキュア ブート グループ ポリシー AvailableUpdatesPolicy = 0x5944 (既定)
- WinCS メソッド (パラメーター – UseWinCS)
対象を設定するための AD セキュリティ グループを作成します
セキュリティ グループにコンピューター アカウントを追加する
GPO セキュリティ フィルターを構成する
GPO をターゲット OU にリンクします
ブロックされたバケット (到達不能デバイス) の監視
デバイスが回復した場合の自動ブロック解除
使用状況
# Interactive (testing) .\Start-SecureBootRolloutOrchestrator.ps1 ` -AggregationInputPath "\\fileserver\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" ` -PollIntervalMinutes 30# Interactive (testing), leveraging WinCS method .\Start-SecureBootRolloutOrchestrator.ps1 ` -AggregationInputPath "\\fileserver\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" ` -PollIntervalMinutes 30 ` -UseWinCS管理コマンド
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Latitude5520|BIOS1.2"# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAllパラメーター
パラメータ 既定 説明 AggregationInputPath 必須 エンドポイント JSON ファイルへの UNC パス ReportBasePath 必須 レポートと状態のローカル パス TargetOU ドメイン ルート GPO をリンクする OU WavePrefix SecureBoot-Rollout GPO/グループの名前付けプレフィックス MaxWaitHours 72 デバイスの到達可能性を確認するまでの時間 PollIntervalMinutes 1440 ステータス チェック間の分数 DryRun False 変更なしに何が起こるかを示す 注
PollIntervalMinutes に関するメモ: オーケストレータを直接実行する場合、既定値は 1440 分 (24 時間) です。 Deploy-OrchestratorTask.ps1 経由で展開した場合、既定値は 30 分です。 配置スクリプトは、独自の既定値をオーケストレータに渡します。 アクティブ ロールアウトには 30 分、メンテナンスの監視には 1440 分を使用します。
オプション パラメーター
パラメータ 既定 説明 UseWinCS False AvailableUpdatesPolicy GPO ではなく WinCS メソッドを使用する WinCSKey F33E0C8E002 セキュア ブート構成の WinCS キー AllowListPath (なし) 対象/パイロット ロールアウトを許可するホスト名を持つファイルへのパス。 .txt または .csv をサポートします。 AllowADGroup (なし) 許可するコンピューター アカウントの AD セキュリティ グループ。 例: "SecureBoot-pilot-computers" ExclusionListPath (なし) ロールアウトから除外するホスト名を持つファイルへのパス (VIP/エグゼクティブ デバイス) ExcludeADGroup (なし) 除外するコンピューター アカウントの AD セキュリティ グループ。 例: "VIP-Computers" ListBlockedBuckets False 現在ブロックされているデバイス バケットを表示する UnblockBucket (なし) 特定のバケットのブロックを解除する。 形式: "Manufacturer|モデル|BIOS" UnblockAll False ブロックされているすべてのデバイス バケットのブロックを解除する
「フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト」に戻ります。
Deploy-OrchestratorTask.ps1
目的: オーケストレータを Windows のスケジュールされたタスクとして展開します。
利点
- PowerShell のセキュリティ プロンプトなし (ExecutionPolicy バイパス)
- バックグラウンドで継続的に実行
- ユーザー操作は必要ありません
- 再起動しても存続する
使用状況
ドメイン サービス アカウントを使用して展開する (推奨)
AvailableUpdates グループ ポリシー (既定のメソッド) を使用する
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" ` -ServiceAccount "DOMAIN\svc_secureboot"WinCS メソッドを使用する
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" ` -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS
SYSTEM アカウントで展開する
AvailableUpdates グループ ポリシー (既定のメソッド) を使用する
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports"WinCS メソッドを使用する
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" -UseWinCSサービス アカウントの要件
- ドメイン管理 (New-GPO、New-ADGroup、Add-ADGroupMember の場合)
- JSON ファイル共有への読み取りアクセス
- ReportBasePath への書き込みアクセス
「フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト」に戻ります。
Get-SecureBootRolloutStatus.ps1
目的: 任意のワークステーションからロールアウトの進行状況を表示します。
表示内容
- スケジュールされたタスクの状態 (実行中/準備完了/停止)
- 現在のウェーブ番号
- 対象となるデバイスと更新済みのデバイス
- 視覚的な進行状況バー
- ブロックされたバケットの概要
- 最新の HTML ダッシュボードへのリンク
使用状況
# Quick status check .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"# Continuous monitoring (refreshes every 30 seconds) .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -Watch 30# View blocked buckets .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowBlocked# View wave history .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowWaves# View recent log .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowLog# Open dashboard in browser .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboardパラメーター
パラメータ 必須ですか? 既定 説明 ReportBasePath 必須 — レポートと状態ファイルへのローカル パス ShowLog オプション False 最近使用したオーケストレーター ログ エントリを表示する ShowBlocked オプション False ブロックされたバケットの詳細を表示する ShowWaves オプション False ウェーブ履歴を表示する 視聴 オプション 0 (無効) 自動更新間隔 (秒単位)。 例: - 30 秒ごとに 30 回の更新を監視します。 OpenDashboard オプション False 既定のブラウザーで最新の HTML ダッシュボードを開きます サンプル出力
注
==============================================================
セキュア ブート ロールアウトの状態
2026-02-17 19:30:00
======================================================Scheduled Task: RunningROLLOUT PROGRESS
状態: 進行中
現在のウェーブ: 5
Total Targeted: 1250
更新合計: 847Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%BLOCKED BUCKETS: 2 buckets need attention
-ShowBlocked を使用して実行して詳細を確認してくださいLATEST DASHBOARD
C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html
__________________________________________________________________________________________
「フェーズ 2: セキュア ブート証明書の更新オーケストレーション スクリプト」に戻ります。
E2E の展開手順 (クイック リファレンス ガイド)
このセクションの内容
フェーズ 1: 検出インフラストラクチャ
手順 1: コレクション共有を作成する
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -Path $sharePath -Force New-SmbShare -Name "SecureBootData$" -Path $sharePath -FullAccess "Domain Admins" -ChangeAccess "Domain Computers"# Set NTFS permissions $acl = Get-Acl $sharePath $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain Computers","Modify","Allow") $acl.AddAccessRule($rule) Set-Acl $sharePath $acl手順 2: 検出 GPO を展開する
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ` -OUPath "OU=Workstations,DC=contoso,DC=com" ` -CollectionSharePath "\\server\SecureBootData$"手順 3: エンドポイントから報告されるまで待機する (24 〜 48 時間)
# Check collection progress (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json").Count
「E2E のデプロイ手順 (クイック リファレンス ガイド)」に戻る
フェーズ 2: オーケストレーションされたロールアウト
手順 4: 前提条件の確認
- 検出 GPO が展開されました (段階 2)
- JSON を報告する少なくとも 50+ 以上のエンドポイント
- ドメイン管理権限を持つサービス アカウント
- PowerShell 5.1+ を使用する管理サーバー
手順 5: スケジュールされたタスクとして Orchestrator をデプロイする
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ` -ReportBasePath "C:\SecureBootReports" ` -ServiceAccount "DOMAIN\svc_secureboot"手順 6: 進行状況を監視する
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"手順 7: ダッシュボードを表示する
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard手順 8: ブロックされたバケットを管理する
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Manufacturer|Model|BIOS"手順 9: 完了を確認する
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Status should show "Completed"
「E2E のデプロイ手順 (クイック リファレンス ガイド)」に戻る
State Files
オーケストレータは、ReportBasePath\RolloutState\: で状態を維持します。
| ファイル | 説明 |
|---|---|
| RolloutState.json | ウェーブ履歴、ターゲット デバイス、状態 |
| BlockedBuckets.json | 調査が必要なバケット |
| DeviceHistory.json | ホスト名によるデバイス追跡 |
| Orchestrator_YYYYMMDD.log | 毎日のアクティビティ ログ |
「E2E のデプロイ手順 (クイック リファレンス ガイド)」に戻る
トラブルシューティング
このセクションの内容
Orchestrator が進行しない
スケジュールされたタスクの確認
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"ログを確認する
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50JSON データの更新性の確認
(Get-ChildItem "\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
ブロックされたバケット
リストはブロックされています。
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBucketsデバイスの到達可能性を調査します。
ファームウェアの問題を確認します。
調査後にブロックを解除します。
GPO が適用されていない
GPO が存在することを確認します。
Get-GPO -Name "SecureBoot-Rollout-Wave*"セキュリティ フィルター処理を確認します。
Get-GPPermission -Name "GPO-Name" -Allコンピューターがセキュリティ グループ内にあることを確認します。
ターゲットに GPO を適用します。
gpupdate /force
変更ログ
| 日付の変更 | 変更の説明 |
|---|---|
| 2026 年 5 月 12 日 | 以前は、各サンプル スクリプト ファイルは、スクリプトをコピーして貼り付ける個々の記事として発行されていました。 2026 年 5 月 12 日以降にリリースされた Windows 更新プログラム以降、サンプル スクリプトはデバイスの %systemroot%\SecureBoot\ExampleRolloutScripts フォルダーにあります。 |