Windows アプリと Codex CLI をデプロイする

Intune、SCCM、またはその他の企業向け管理ツールを使用して、Windows デスクトップアプリと Codex CLI をデプロイします

管理対象の Windows デバイスに、Windows デスクトップアプリ、Codex CLI、またはその両方をデプロイします。デスクトップからアクセスする場合はアプリを、ターミナルからアクセスする場合は CLI を選択してください。

デスクトップアプリとスタンドアロンの CLI では、インストールの実行コンテキストが異なります。CLI をデプロイする前に、インストーラーの実行に使用するアカウントを選択し、検証してください。

目的 最初に参照する項目
デスクトップアプリを配布する Windows アプリをデプロイする
従業員にスタンドアロンのターミナルアクセスを提供する Windows に Codex CLI をデプロイする
Windows に Codex の要件を適用する 管理対象の要件を設定する
Windows でコマンドを実行する準備をする Windows サンドボックスを設定する

Windows アプリをデプロイする

使用する管理ツールと、デバイスが Microsoft の配布サービスにアクセスできるかどうかに基づいて、方法を選択してください。

デプロイ前に、管理対象の設定に従って、適用する制御を設定してください。デスクトップアプリで Codex のコマンドを実行する準備として、Windows サンドボックスのセットアップに従ってください。デバイスの互換性を確認し、必要なレガシー環境向けのセットアップを完了してください。

以下の MSIX リンクからは、各アーキテクチャ向けの最新リリースがダウンロードされます。過去のバージョンはダウンロードされません。ダウンロードしたパッケージを確認し、承認済みの成果物をデプロイシステムに保管してください。アプリの更新を管理するに従って、アプリの組み込みアップデーターと Microsoft Store、Intune、その他のデプロイツールを連携させてください。

パッケージの入手元

Microsoft Store 経由で展開する

Intune の Microsoft Store 連携を使って、アプリをインストールおよび更新します。

  1. Intune 管理センターで、アプリ > すべてのアプリ > 作成 に移動します。Microsoft Store アプリ(新規) を選択します。

  2. OpenAI の ChatGPT を検索するか、Store の製品 ID 9PLM9XGG6VKS を入力します。アプリを選択し、インストール設定を確認します。

  3. アプリ情報 で、インストールの動作 をシステム に設定します。

  4. 必須 に対象のグループを追加して、Intune がアプリを自動的にインストールするようにし、作成 を選択します。

Company Portal 経由で任意にインストールできるようにするには、代わりに登録済みデバイスで 使用可能 を使用します。

デバイスは、Microsoft のネットワーク要件に記載されている Microsoft Store と Windows Update のエンドポイントにアクセスできる必要があります。これらのエンドポイントがブロックされている場合は、オフライン MSIX を選択してください。

インストールのコンテキスト、ネットワーク要件、展開の監視については、 Microsoft の Intune Store アプリガイドを参照してください。

Windows に Codex CLI を展開する

CLI パッケージを準備し、デバイスポリシーを適用して、従業員のアカウントからターミナルで利用できることを確認します。

始める前に

  • 対象の Windows デバイスとユーザー、およびデバイスのプロセッサアーキテクチャを特定し、インストール方法を選択します。ユーザーが Codex にアクセスでき、組織のサインインフローを完了できることを確認します。

  • Intune を使用する場合は、アプリ管理権限、Microsoft の Win32 パッケージ化の前提条件を満たす登録済みデバイス、および無人インストールパッケージを準備します。

  • CLI の更新と削除の担当者を決めます。npm を使用する場合は、管理対象の Node.js/npm のインストール構成と、グローバルパッケージの保存場所を考慮します。

インストール方法を選択する

インストール方法と、使用する CLI のリリースを明確に選択します。GitHub の CLI リリースを確認し、例にある <approved-version> を、承認済みのバージョン番号(x.y.z 形式)に置き換えます。パッケージと検出規則には同じバージョンを使用します。

スタンドアロンインストーラーは、リリースを指定しない場合、既定で latest を使用します。展開するリリースを固定するには、-Release を明示的に設定します。詳細はインストーラーのリリースパラメーターを参照してください。一般的なインストール手順については、CLI のインストールを参照してください。

スタンドアロン PowerShell インストーラー。 新しい PowerShell ウィンドウで、インストーラーをダウンロードし、承認済みのリリースを指定して実行します。

$CodexRelease = '<approved-version>'
Invoke-WebRequest -UseBasicParsing -Uri 'https://chatgpt.com/codex/install.ps1' -OutFile '.\codex-install.ps1'
powershell -ExecutionPolicy Bypass -File .\codex-install.ps1 -Release $CodexRelease

npm。 デバイス上で Node.js と npm がすでに管理されている場合は、承認済みのパッケージバージョンを明示的に指定します。

$CodexRelease = '<approved-version>'
npm install -g "@openai/codex@$CodexRelease"

管理された配布を行う場合は、レビュー済みのインストーラーまたはパッケージ成果物と、選択したリリースを IT 部門が管理するパッケージに含めます。インストールコンテキスト、検出、削除、更新の動作を定義します。バージョンを選択しても、インストーラーのユーザープロファイルに関する既定の動作は変わらず、無人展開に必要なラッパー一式が提供されるわけでもありません。

インストールコンテキストを設定する

スタンドアロンインストーラーは、既定でランタイムファイルを現在のユーザーのプロファイルに配置し、コマンドディレクトリに %LOCALAPPDATA%\Programs\OpenAI\Codex\bin を使用して、ユーザーの PATH に追加します。

変更を加えずにインストーラーを SYSTEM として実行すると、SYSTEM のプロファイルと環境が対象になります。Intune で System を選択しても、全ユーザー向けのインストールにはなりません。

展開方法 検証する内容
サインイン中の従業員向けにインストールする そのユーザーのコンテキストでインストールと検出を実行します。新しいターミナルを開き、従業員が codex の場所を解決して実行できることを確認します。
デバイス全体向けのパッケージを作成する マシン上のインストール構成、ランタイムファイル、権限、PATH 経由での利用、検出、削除を定義し、検証します。既定のインストーラーには、この構成は用意されていません。
npm を使用する npm を実行するアカウントのグローバルパッケージのプレフィックスとコマンドの場所を確認します。「グローバル」は、必ずしも Windows の全ユーザーを意味しません。

ユーザーによるインストール、デバイスポリシーの配信、管理者が承認したサンドボックスのセットアップは、それぞれ分けて行います。手順で従業員のプロファイルが必要な場合は、SYSTEM ではなく、その従業員の ID を使用します。

スタンドアロンのランタイムファイルは一式をまとめて保持してください。codex.exe だけをコピーしても、完全なスタンドアロンパッケージにはなりません。

Intune で CLI をパッケージ化して割り当てる

選択したインストールコンテキストに対応する無人インストーラー、アンインストーラー、検出ロジックを備えた、IT 部門が管理する Win32 パッケージを準備し、検証します。

  1. 承認済みのインストール用ファイルと無人セットアップスクリプトを含むソースフォルダーを準備します。スクリプトでは latest を自動的に取得するのではなく、承認済みの CLI リリースを指定します。Microsoft のパッケージ化ツールと出力フォルダーは、そのソースフォルダーの外に配置します。

  2. Microsoft Win32 Content Prep Tool で .intunewin ファイルを生成します。この例では、レビュー済みのセットアップスクリプトの名前が Install-Codex.ps1 であることを前提としています。

   IntuneWinAppUtil.exe -c C:\Packages\Codex\Source -s Install-Codex.ps1 -o C:\Packages\Codex\Output -q

このツールはソースフォルダーの内容をパッケージ化します。Win32 アプリパッケージの作成を参照してください。

  1. Intune で Windows アプリ (Win32) を作成し、パッケージをアップロードします。

  2. インストールとアンインストールのコマンド、User または System の動作、要件、検出規則を、パッケージに合わせて設定します。

  3. 必須 または登録済みデバイスで利用可能 として割り当てます。

Intune では無人インストールが必要です。カスタム検出スクリプトは終了コード 0 で終了し、stdout に出力する必要があります。stderr に出力すると検出に失敗します。Win32 アプリの追加と割り当てを参照してください。

管理エージェントが成功を示す終了コードを報告した場合でも、従業員のアカウントで CLI を検証してください。

Configuration Manager (SCCM) では、レビュー済みの CLI インストール設計をアプリケーションのワークフローに組み込み、CLI 専用のインストーラーと検出ルールを使用してください。デスクトップアプリの MSIX 設定は、デスクトップアプリにのみ適用されます。

管理対象の要件を構成する

管理者が強制する Windows の要件を次の場所に配置します。

%ProgramData%\OpenAI\Codex\requirements.toml

エンドポイント管理ツールを通じてファイルを配布します。対象ユーザーに読み取りアクセス権を付与し、一般ユーザーが管理者所有のポリシーを変更できないようにしてください。

要件は設定を制約し、構成の既定値は初期値を提供します。ローカルファイルと適用されるクラウドポリシーの両方を確認し、実際に有効な構成を判断してください。

権限、承認、ネットワークアクセス、サンドボックスの動作に関する要件を選択します。サポートされるフィールドと優先順位については、管理対象の構成を参照してください。

展開後、従業員のアカウントで Codex を起動し、/status と /debug-config を使用して有効なポリシーを確認します。CLI のインストールや要件の配布によって、ワークスペースへのアクセス権が付与されるわけではありません。

Windows サンドボックスを構成する

Windows サンドボックスを選択する前に、デバイスの互換性を確認してください。Windows サンドボックスガイドでは、Microsoft Execution Containers (MXC) と従来の実装について説明しています。

対応デバイスでは MXC を優先する

CLI を単独で使用する場合は、config.toml で MXC を優先する設定を有効にします。

[features]
prefer_mxc = true

requirements.toml を通じて、この機能の設定値を強制することもできます。この優先設定では、MXC が利用できない場合に従来の実装へのフォールバックが許可されます。有効にする前に、Windows サンドボックスガイドでデバイス要件を確認してください。

CLI バージョン 0.162.0 以降では、プロジェクトディレクトリから次の互換性チェックを実行します。

codex -c windows.sandbox=mxc sandbox --include-managed-config --permission-profile :workspace -- cmd.exe /d /c echo MXC_OK
$LASTEXITCODE

MXC_OK が表示され、終了コードが 0 になることを確認します。これは MXC を明示的に指定したコマンドの確認です。従業員が通常使用するセッションの構成も確認してください。

展開前に、サンドボックスガイドに記載されたネットワークの制約と、管理対象のネットワークポリシーを照合してください。

従来の実装へのフォールバックを準備する

MXC が利用できないか無効になっている場合は、従来の実装である elevated へのフォールバックを優先してください。セットアップには管理者の承認が必要ですが、サンドボックス内のコマンドは管理者権限なしで実行されます。

従業員のアカウントと Codex ホームに対して、IT 部門主導のセットアップ手順に従ってください。適切に権限を昇格したプロセスから、次の例を実行します。

codex sandbox setup --elevated --user 'DOMAIN\alice' --codex-home 'C:\Users\alice\.codex'

サンプルのユーザー識別情報とパスを、対象ユーザーの値に置き換えてください。権限を昇格してセットアップする際は、管理者が信頼する CLI インストールを使用してください。

権限昇格型の従来実装のみを許可するには、次の内容を %ProgramData%\OpenAI\Codex\requirements.toml に追加します。追加先は config.toml ではありません。従来の実装へのフォールバックを構成するを参照してください。

[windows]
allowed_sandbox_implementations = ["elevated"]

この設定は MXC をブロックせずに、従来の実装へのフォールバックを制限します。unelevated を許可する前に、ネットワーク分離が弱いことと、読み取り拒否パスをサポートしていないことを確認してください。

CLI の展開を検証する

対象となる従業員のアカウントで、管理者権限のない新しい PowerShell ウィンドウを開きます。

Get-Command codex
codex --version
codex

実行可能ファイルが意図したインストール先から解決されることを確認し、承認済みのサインインフローを完了します。指定されたテスト用プロジェクトで小さなタスクを実行し、有効な構成を確認してください。

確認項目 操作と期待される結果
インストールコンテキスト 再サインイン後も含め、対象となる従業員のアカウントで CLI が解決されることを確認します。
管理ツールによる検出 CLI がインストールされたデバイスが検出され、削除済みのデバイスを含め、CLI がないデバイスが検出されないことを確認します。
管理対象の要件 セッションに、想定した有効なポリシーが表示されることを確認します。
Windows サンドボックス 対応デバイスで MXC が動作し、必要なデバイスに承認済みの従来実装のフォールバックが準備されていることを検証します。
更新 展開後、従業員が承認済みの新しいバージョンを実行できることを確認します。
削除 パッケージが、無関係なユーザー構成やプロジェクトデータを削除せずに、インストールしたファイルと PATH エントリを削除することを確認します。

更新を管理する

デスクトップアプリ

アプリは既定で更新を確認します。オフラインでインストールした場合も同様です。自動更新を有効にするには、デバイスから persistent.oaistatic.com へのアクセスを許可します。自動更新を無効にする場合は、新しいパッケージを管理ツール経由で展開してください。

アプリの更新を管理するに従って、すべての更新元を調整してください。組み込みのアップデーターを無効にしても、Microsoft Store、Intune、その他の管理ツールによるアプリの更新は停止しません。また、OpenAI が管理するバージョン固定や別のリリースチャネルが提供されるわけでもありません。展開システムを通じて、インストール済みのバージョンを確認してください。

Codex CLI

CLI を更新するたびに、新しい承認済みリリースを選択し、展開パッケージ内で明示的に指定した -Release の値または npm パッケージのバージョンと、検出ルールを更新します。パッケージの展開プロセスを通じて展開した後、インストール済みのバージョン、アカウントのコンテキスト、検出動作を検証してください。管理対象のパッケージを、リリースを明示しないインストーラーコマンドに戻さないでください。CLI のリリース、CLI のインストールと更新、npm のバージョン選択を参照してください。

トラブルシューティング

インストール時に管理者の資格情報を求められる

ユーザーが自分でアプリをインストールする場合は、管理者によるインストールの承認が必要です。

Microsoft Store 経由で Intune による展開を行う場合は、次の手順を実行します。

  1. Intune 管理センターで、アプリ > すべてのアプリ に移動し、ChatGPT を選択します。

  2. アプリのプロパティ でインストールの動作 を確認します。ユーザー の場合は、 Microsoft Store アプリ (新規) としてアプリを再度追加し、 アプリ情報 でシステム を選択します。

  3. 必須 または登録済みデバイスで利用可能 として、対象グループにアプリを割り当てます。新しいアプリを追加した場合は、そのグループへの割り当てを元のアプリから削除します。

  4. 対象デバイスを Intune と同期し、デバイスのインストール状態 を確認します。利用可能として割り当てた場合は、Company Portal でインストールを再試行します。

アプリがすでにインストールされている場合、インストールの動作をシステム にして展開すると、 Intune が 0x87D1041C を報告することがあります。この場合でも、インストールは成功しています。対象デバイス上でアプリを確認してください。

エラー `0x80073D28` でインストールが失敗する

Windows は、管理者権限なしではパッケージ化されたサービスをインストールできない場合に、0x80073D28 (ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES) を返します。管理者としてインストールを実行するか、展開ツールを構成して、デバイスまたは System コンテキストでインストールしてください。

既存の SCCM 展開の場合は、次の手順を実行します。

  1. アプリケーションのプロパティ > 展開の種類 を開きます。
  2. Windows アプリ パッケージ の展開の種類を編集し、ユーザー エクスペリエンス を開きます。
  3. デバイス上のすべてのユーザーにこのアプリケーションをプロビジョニングする を有効にして保存します。
  4. クライアントのマシンポリシーを更新し、Software Center でインストールを再試行します。

プロビジョニング設定の詳細については、Microsoft のアプリケーションの展開設定を参照してください。

Codex CLI のインストールと構成

症状 確認事項
Intune では成功と報告されるが、従業員が Codex を実行できない インストールに使用したアカウント、ランタイムの場所、PATH が更新されたアカウントを確認してください。変更を加えていないインストーラーを SYSTEM として実行しても、従業員のプロファイルにはインストールされません。
インストール後に codex が認識されない 新しいターミナルを開いてください。対象アカウントのコマンドディレクトリと PATH を確認してください。
意図しない Codex バージョンが起動する Get-Command codex を使用して、競合するスタンドアロン版や npm 版の場所を確認してください。
MXC のプローブが失敗する Windows サンドボックスガイドに照らして、デバイスの機能、CLI バージョン、管理ポリシーを確認してください。必要に応じて、承認済みの従来方式のフォールバックを用意してください。
従来方式のサンドボックスのセットアップで管理者の承認を求められる 従業員の ID と Codex ホームを対象に、IT 部門主導のセットアップを完了してください。
管理設定がローカルの要件ファイルと異なる /status と /debug-config を使用して、実際に適用されている設定、ポリシーの優先順位、サポートされているフィールドを確認してください。

関連リソース