部署 Windows 應用和 Codex CLI
使用 Intune、SCCM 或其他企業管理工具部署 Windows 桌面應用和 Codex CLI
將 Windows 桌面應用、Codex CLI 或兩者部署到受管理的 Windows 裝置上。需要桌面存取時選擇應用,需要終端存取時選擇 CLI。
桌面應用和獨立 CLI 使用不同的安裝上下文。部署 CLI 之前,請選擇並驗證用於執行其安裝程式的帳戶。
| 你的目標 | 入門指南 |
|---|---|
| 分發桌面應用 | 部署 Windows 應用 |
| 為員工提供獨立的終端存取 | 在 Windows 上部署 Codex CLI |
| 在 Windows 上應用 Codex 要求 | 設定託管要求 |
| 準備 Windows 命令執行環境 | 設定 Windows 沙箱 |
部署 Windows 應用
根據你的管理工具以及裝置是否能夠存取 Microsoft 的分發服務,選擇部署方式。
部署前,請按照託管設定設定適用的控制措施。要為桌面應用中的 Codex 命令執行做好準備,請按照 Windows 沙箱設定操作。檢查裝置相容性,並完成所需的舊版設定。
下方的 MSIX 連結下載的是各架構的最新版本,而非歷史版本。請審查下載的安裝包,並將已核准的製品保留在部署系統中。按照管理應用更新中的說明,協調應用內建更新程式與 Microsoft Store、Intune 及其他部署工具。
安裝包來源
通過 Microsoft Store 部署
使用 Intune 的 Microsoft Store 整合安裝和更新應用。
在 Intune 管理中心,轉到應用 > 所有應用 > 建立。選擇 Microsoft Store 應用(新)。
搜尋 OpenAI 的 ChatGPT,或輸入 Store 產品 ID
9PLM9XGG6VKS。選擇該應用並檢查其安裝設定。在應用資訊 中,將安裝行為 設定為系統。
在必需 下新增目標組,讓 Intune 自動安裝該應用, 然後選擇建立。
若要通過公司門戶提供可選安裝,請改用可用於已註冊的 裝置。
裝置需要能夠存取 Microsoft 網路要求中列出的 Microsoft Store 和 Windows Update 終結點。如果這些終結點被阻止,請選擇離線 MSIX。
有關安裝上下文、網路要求和部署監視,請參閱 Microsoft 的 Intune Store 應用指南。
使用 Intune 部署離線軟體包
當裝置無法使用 Microsoft 的分發服務,或你需要分發組織已稽核的包時,請使用下載的 MSIX。這些連結會下載最新版本。對於重複部署,請使用部署系統中已核准的構件。選擇必需 以自動安裝。
分配
下載適用於裝置的 x64 MSIX 或 Arm64 MSIX。
在 Intune 管理中心,轉到應用 > 所有應用 > 建立。 選擇業務線應用,上傳 MSIX,並檢查包的 資訊。
在分配 頁面的必需 下新增目標裝置組。
在該分配的安裝上下文 列中,選擇使用者上下文, 將其更改為裝置上下文,然後儲存。
檢查並建立應用。在裝置安裝狀態 中確認安裝成功,然後讓員工正常啟動 ChatGPT。
如果應用未出現,請讓使用者登出後重新登入。
有關更多資訊,請參閱 Microsoft 的 LOB 應用部署指南。
要通過公司門戶提供安裝,請將離線包部署為 Windows 應用 (Win32),並將分配類型設為可用於已註冊的裝置:
下載 x64 MSIX 或 Arm64 MSIX,以及離線許可證。將包重新命名為
ChatGPT.msix,並將這兩個檔案放在同一個 資料夾中。將此指令碼儲存為
Install-ChatGPT.ps1,與下載的檔案放在同一目錄中:
#Requires -RunAsAdministrator
$ErrorActionPreference = 'Stop'
Add-AppxProvisionedPackage -Online `
-PackagePath "$PSScriptRoot\ChatGPT.msix" `
-LicensePath "$PSScriptRoot\ChatGPT-License.xml" `
-Regions all- 將此指令碼儲存為
Uninstall-ChatGPT.ps1,與 MSIX、許可證和安裝指令碼放在同一目錄中。設定 Intune,使其在解除安裝應用時以系統上下文執行此指令碼。該指令碼會移除預配的包以及裝置上所有使用者的應用註冊:
#Requires -RunAsAdministrator
$ErrorActionPreference = 'Stop'
Get-AppxProvisionedPackage -Online |
Where-Object DisplayName -eq 'OpenAI.Codex' |
Remove-AppxProvisionedPackage -Online -AllUsers
Get-AppxPackage -AllUsers -Name 'OpenAI.Codex' |
Remove-AppxPackage -AllUsers這兩個指令碼都應遵循組織的 PowerShell 指令碼簽名策略。
- 使用 Microsoft 的 Win32 應用工作流程,將 MSIX、許可證、
Install-ChatGPT.ps1和Uninstall-ChatGPT.ps1一起打包。在 Intune 中新增 Windows 應用 (Win32),將安裝行為 設定為系統,並指定與包匹配的體系結構。設定下面的 64 位安裝和解除安裝命令,然後將應用分配為可用於已註冊的裝置。
Win32 安裝、移除和檢測設定
將安裝命令 設定為:
%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\powershell.exe -NoProfile -File .\Install-ChatGPT.ps1對於 Windows 安裝在 C:\Windows 的裝置,將解除安裝命令 設定為:
C:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -NoProfile -File .\Uninstall-ChatGPT.ps1如果 Windows 目錄不同,請使用實際目錄。此字面路徑會從 Intune 的 32 位命令上下文中選擇 64 位 Windows PowerShell。請勿在解除安裝欄位中改用 %SystemRoot%:Intune 不會在該欄位中展開環境變數。如果需要展開變數,請按照 Microsoft 的程式設定中的說明打包一個包裝指令碼。
在 64 位 PowerShell 中執行此自定義檢測指令碼。當應用已在裝置上預配時,指令碼會報告成功。要檢測某個已核准的特定版本,還需將包的 Version 與該版本進行比較。
$package = Get-AppxProvisionedPackage -Online -ErrorAction Stop |
Where-Object DisplayName -eq 'OpenAI.Codex'
if ($package) {
Write-Output $package.PackageName
exit 0
}
exit 1Windows 會在使用者登入時註冊預配的包。如果應用未顯示,請讓使用者登出後重新登入。
使用 Microsoft Configuration Manager (SCCM) 部署
通過 Configuration Manager 和軟體中心部署下載的 MSIX。
下載適用於裝置的 x64 MSIX 或 Arm64 MSIX。將其放在 Configuration Manager 可存取的網路共享 中。
轉到軟體庫 > 應用程式 管理 > 應用程式 > 建立應用程式。選擇 Windows 應用 包 並輸入 MSIX 路徑。檢查檢測到的包資訊,並 啟用為裝置上的所有使用者預配此應用程式。
將內容分發到分發點, 然後部署到裝置集合。選擇必需 以 自動安裝,或選擇可用,讓使用者從軟體中心安裝。
使用 Windows 應用包部署類型,而非 Store 連結類型。有關包要求以及面向所有使用者的預配,請參閱 Microsoft 的 Configuration Manager 指南。
如果部署工作流程需要,請在下載軟體包時一並下載離線許可證。
使用 Configuration Manager 移除預配的應用
如果使用者已登入過預配了該應用的裝置,請建立以下兩個解除安裝部署:
將一個解除安裝部署定向到包含受影響裝置的裝置集合。
將第二個解除安裝部署定向到包含已登入過這些裝置的使用者的使用者集合。
從裝置中移除預配應用不會為現有使用者解除安裝該應用。請驗證裝置和這些使用者帳戶中的應用均已移除。請參閱 Microsoft 的預配應用移除指南。
使用其他管理工具部署
使用管理工具的 MSIX 部署工作流程。
根據裝置架構下載 x64 MSIX 或 Arm64 MSIX。
將 MSIX 新增到部署工具中。將安裝設定為面向裝置, 並使用 Local System 或管理員權限。
為試點裝置組分配自動安裝。在擴大部署範圍之前,確認員工 可以使用其常用 Windows 帳戶開啟 ChatGPT。
如果應用未出現,請讓使用者登出後重新登入。
使用 PowerShell 指令碼安裝
如果工具需要安裝命令,請在下載 MSIX 的同時下載離線許可證。
將程式包重新命名為 ChatGPT.msix,並將此指令碼另存為
Install-ChatGPT.ps1,放在同一資料夾中:
#Requires -RunAsAdministrator
$ErrorActionPreference = 'Stop'
Add-AppxProvisionedPackage -Online `
-PackagePath "$PSScriptRoot\ChatGPT.msix" `
-LicensePath "$PSScriptRoot\ChatGPT-License.xml" `
-Regions all將指令碼和這兩個檔案一起打包。設定工具,使用 64 位 Windows PowerShell 以 Local System 或管理員身份執行指令碼。
程式包來源
讓使用者安裝應用
如果使用者可以自行安裝應用程式,或可以獲得管理員的幫助,請使用此選項。
引導使用者前往 ChatGPT Windows 安裝程式下載頁面。
執行安裝程式,並按照 Windows 安裝 提示操作。安裝必須經管理員核准。
開啟 ChatGPT 並使用工作帳戶登入。
使用者也可以從命令列安裝:
winget install --id 9PLM9XGG6VKS -s msstore安裝程式提供自動更新功能。安裝或更新期間可能會出現 Microsoft Store 元件;使用者無需瀏覽 Microsoft Store。
從離線軟體包安裝
在聯網電腦上下載檔案,然後將其複製到目標裝置。安裝必須由管理員執行。
下載 x64 MSIX 或 Arm64 MSIX,以及離線許可證。將程式包重新命名為
ChatGPT.msix,並將這兩個檔案儲存在同一 資料夾中。在該資料夾中以管理員身份開啟 Windows PowerShell, 然後執行:
Add-AppxProvisionedPackage -Online `
-PackagePath .\ChatGPT.msix `
-LicensePath .\ChatGPT-License.xml `
-Regions all- 如果應用未出現,請登出後重新登入,然後開啟 ChatGPT 並使用工作帳戶登入。
這些下載連結提供適用於各架構的最新 Microsoft Store 簽名程式包。離線安裝後,使用 ChatGPT 仍需聯網。桌面應用不提供獨立 MSI 程式包或非 Microsoft Store 的 EXE 程式包。
在 Windows 上部署 Codex CLI
準備 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 $CodexReleasenpm。 如果裝置上的 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。
將獨立執行所需的執行時檔案儲存在一起;僅複製 codex.exe 無法構成完整的獨立安裝包。
通過 Intune 打包和分配 CLI
準備並驗證由 IT 管理的 Win32 安裝包,為所選安裝上下文配備無人值守安裝程式、解除安裝程式和檢測邏輯。
準備一個原始檔夾,其中包含經核准的安裝檔案和無人值守安裝指令碼。在該指令碼中指定經核准的 CLI 版本,不要讓指令碼自動解析
latest。將 Microsoft 打包工具和輸出資料夾放在該原始檔夾之外。使用 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 應用包。
在 Intune 中,建立一個 Windows 應用 (Win32) 並上傳安裝包。
設定與安裝包匹配的安裝和解除安裝命令、使用者 或系統 行為、要求及檢測規則。
將其分配為必需 或可用於已註冊裝置。
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 的裝置(包括已解除安裝 CLI 的裝置)是否不會被檢測為已安裝。 |
| 託管要求 | 確認會話顯示預期的實際生效策略。 |
| Windows 沙箱 | 驗證 MXC 能否在相容裝置上執行,並確認已在需要的裝置上設定經核准的舊版回退方案。 |
| 更新 | 確認部署後員工能夠執行經核准的新版本。 |
| 解除安裝 | 確認安裝包能夠移除其安裝內容和 PATH 條目,且不會刪除無關的使用者設定或專案資料。 |
管理更新
桌面應用
應用預設會檢查更新,即使是離線
安裝後也會如此。若要啟用自動更新,請允許裝置存取
persistent.oaistatic.com。如果停用自動更新,請通過管理工具部署更新的
安裝包。
按照管理應用更新中的說明協調所有更新來源。停用內建更新程式並不會阻止 Microsoft Store、Intune 或其他管理工具更新應用,也不會提供由 OpenAI 管理的版本固定功能或單獨的發布渠道。請通過部署系統確認已安裝的版本。
Codex CLI
每次更新 CLI 時,選擇一個新獲批的版本,更新部署包中明確指定的 -Release 值或 npm 包版本,並更新其檢測規則。通過既定的打包部署流程進行部署,然後驗證已安裝的版本、帳戶上下文和檢測行為。不要將受管理的包改回使用未明確指定版本的安裝命令。請參閱 CLI 版本、CLI 安裝與更新和 npm 版本選擇。
故障排查
安裝時提示使用者輸入管理員憑據
使用者自行安裝應用時,必須由管理員核准安裝。
對於通過 Microsoft Store 進行的 Intune 部署:
在 Intune 管理中心,轉到應用 > 所有應用,然後選擇 ChatGPT。
檢查應用屬性 中的安裝行為。如果設定為使用者,請將 該應用重新新增為 Microsoft Store 應用(新),並在 應用資訊 中選擇系統。
在必需 或可用於 已註冊裝置 下,將應用分配給目標組。如果添加了新應用,請移除該組 在原應用中的分配。
將受影響的裝置與 Intune 同步,然後檢查裝置安裝狀態。 對於可用分配,請在公司門戶中重試安裝。
如果應用已安裝,使用系統 安裝行為部署時,可能會
導致 Intune 報告 0x87D1041C。在這種情況下,安裝仍然成功。
請在受影響的裝置上驗證應用。
安裝失敗並顯示錯誤 `0x80073D28`
當 Windows 無法在沒有管理員權限的情況下安裝打包服務時,
會傳回 0x80073D28(ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES)。
請以管理員身份執行安裝,或將部署工具設定為
在裝置或 System 上下文中安裝。
對於現有的 SCCM 部署:
- 開啟應用程式的屬性 > 部署類型。
- 編輯 Windows 應用包 部署類型,並開啟使用者體驗。
- 啟用為裝置上的所有使用者預配此應用程式,然後儲存。
- 重新整理客戶端的電腦策略,然後在軟體 中心重試安裝。
有關預配設定的詳細資訊,請參閱 Microsoft 的應用程式部署設定。
Codex CLI 安裝與設定
| 症狀 | 檢查事項 |
|---|---|
| Intune 報告成功,但員工無法執行 Codex | 檢查安裝帳戶、執行時位置,以及更新了哪個帳戶的 PATH。未經修改的安裝程式以 SYSTEM 身份執行時,不會安裝到員工的使用者設定檔中。 |
安裝後無法識別 codex |
開啟一個新終端。檢查目標帳戶的命令目錄和 PATH。 |
| 啟動了錯誤的 Codex 版本 | 使用 Get-Command codex 檢查是否存在相互衝突的獨立安裝或 npm 安裝位置。 |
| MXC 探測失敗 | 對照 Windows 沙箱指南檢查裝置功能、CLI 版本和託管策略。在適當情況下,預配已獲批的舊版回退方案。 |
| 舊版沙箱設定請求管理員核准 | 由 IT 人員針對員工身份和 Codex 主目錄完成設定。 |
| 託管設定與本機要求檔案不一致 | 使用 /status 和 /debug-config 檢視生效的設定、策略優先順序和支援的欄位。 |