Jamf Concepts
指南

指南

AI Governance:使用 Jamf Extender 扩展覆盖范围

~9 min read
这对您有帮助吗?

AI Governance:使用 Jamf Extender 扩展覆盖范围

什么是 AI Governance?

AI Governance 弥合了"我们允许了 AI"与"我们能够证明它在整个设备群中都得到了正确配置"之间的差距。 通过 Jamf for Mac 提供,它为 IT 和安全团队带来两项集成能力:AI Visibility 提供近乎实时的清单,展示正在运行哪些 AI 工具、它们在做什么以及正在连接什么。AI Policies 将 每个 AI 工具的企业级控制转化为通俗易懂的选项,并以操作系统强制的受管理设置形式交付。 两者共同回答了审计人员和管理层会问的三个问题:正在运行什么、配置是否正确,以及你能否加以证明。

进一步了解 AI Governance


Jamf Extender 增加了什么

  • Windows 策略导出: 将 AI 治理策略下载为可直接部署的软件包,以便上传到任何 MDM 或 UEM 解决方案,从而轻松在 Windows 终端上与你的 macOS 和移动设备群一同强制实施 AI 工具配置。

  • 实时阻止状态可见性: 在部署前一目了然地了解哪些 AI 工具已被阻止。绿色状态指示器显示当前覆盖情况,帮助你避免不必要的工作并即时了解你的强制实施态势。

  • 精简的部署工作流: 直接从 AI Visibility 面板将 Custom Prevent Lists(终端控制)和域名阻止(网络控制)部署到 Jamf 的安全工具中,无需在各门户之间切换或手动创建列表。

  • 自动重复检测: 该扩展会智能地跳过已被阻止的 signing ID 和域名,为你提供清晰的部署摘要并避免不必要的重复条目。

  • 跨门户编排: Jamf Extender 会根据你的 Jamf Extender Portal Group 配置,自动将部署路由到正确的 Jamf Cloud 门户,从而消除手动查找和配置错误。

目录

谁最受益:

管理多个环境(生产、预发布、开发)的组织,或那些频繁调整 AI 治理策略的组织,会欣赏这种可见性和部署速度。希望实时确认其在 Jamf 安全工具间强制实施态势的团队,会发现集成的状态指示器尤其有价值。


概述

本指南将向你展示如何在 Jamf Account 中跨 AI Governance 使用 Jamf Extender。Jamf Extender 为 AI Visibility 面板增添了功能,用于查看 AI 工具使用情况,并为你环境中已识别的 AI 工具部署额外的终端和网络阻止。Jamf Extender 还在 AI Policies 构建器中直接添加了下载选项,让你可以将任何策略导出为可直接部署的软件包,用于 Windows 终端,方式为上传到你所选择的 MDM 或 UEM。

你将完成的内容:

  1. 在 Jamf Account AI Visibility 中查看 AI 工具使用情况
  2. 部署 Custom Prevent Lists(Jamf Protect)和 Custom Domain Blocks(Security Cloud)
  3. 验证并管理 AI 治理阻止
  4. (可选)将 AI Governance 策略配置部署到 Windows 终端

所需时间: 每次部署 2-5 分钟


前提条件

✅ 已安装并配置 Jamf Extender(参见下方 Jamf Extender 设置)
✅ 已配置 Portal Groups,将 Jamf Pro 关联到 Protect 和/或 Security Cloud
✅ 具有以下管理员访问权限:

  • Jamf Account AI Governance
  • Jamf Protect 实例(具有 Custom Prevent Lists 的写入权限)
  • Jamf Security Cloud 实例(可选,用于域名阻止)

Jamf Extender 设置

概述

本指南将引导你在安装后设置 Jamf Extender,包括配置 API 凭据以及使用 Portal Groups 将你的 Jamf 系统关联在一起。

你将完成的内容:

  1. 为 Jamf Pro、Jamf Protect 和 Jamf Security Cloud 配置 API 凭据
  2. 使用 Portal Groups 将这些系统关联在一起
  3. 启用跨平台设备查找和部署

所需时间: 初始设置 5-10 分钟

设置前提条件

✅ 已在浏览器(Chrome、Safari、Edge 或 Firefox)中安装 Jamf Extender
✅ 具有以下管理员访问权限:

  • Jamf Pro 实例
  • Jamf Protect 实例
  • Jamf Security Cloud 实例

✅ 所需权限:

  • Jamf Pro: 创建 API 角色和客户端的能力
  • Jamf Protect: Admin 角色(非只读)以创建 Custom Prevent Lists。该角色可以限定为仅写入 Prevent Lists。
  • Jamf Security Cloud: Admin 凭据

第 A 部分:初始扩展设置

安装 Jamf Extender 后,你会看到:

  • 浏览器工具栏: Jamf Extender 图标(点击以打开弹出窗口)
  • Jamf Pro 页面: 在 Jamf logo 旁出现状态标记
  • Jamf Pro 侧边栏: "Resource Center" 上方的 "Jamf Extender" 按钮

初始状态: 在你设置凭据之前,状态标记会显示为黄色的 "Configure Extension"

第 B 部分:配置 Jamf Pro 凭据

你有两个选项:Quick Setup(推荐)Manual Setup

Automatic Setup(推荐)

Automatic Setup 会创建具有正确权限的 API 角色和客户端。

  1. 导航到你的 Jamf Pro 实例并登录
  2. 在 Settings 下方的左侧菜单中点击 Jamf Extender
  3. Configuration 部分中点击 "Set Up Automatically"
  4. 等待确认(通常 5-10 秒)
  5. 刷新网页
  6. 完成! 状态标记变为绿色的 "Extension Active"

Automatic Setup 的作用:

  • 创建名为 "Jamf Extender" 的 API 角色
  • 授予所有必需的读取权限(computers、policies、profiles、groups 等)
  • 授予 Categories 和 Packages 的写入权限(删除未使用的)
  • 创建分配到该角色的 API 客户端
  • 安全地存储凭据(在安装了 Jamf Extender 应用的 Mac 上使用 macOS Keychain,其他情况下使用浏览器存储)

Quick Setup 故障排除:

  • ❌ "Failed to create API client" → 检查你的 Jamf Pro 用户是否具有创建 API 角色/客户端的权限
  • ❌ "Network error" → 确认你已登录 Jamf Pro 且页面已完全加载

第 C 部分:配置 Jamf Protect 凭据

⚠️ 关键: 你需要一个具备写入能力的 Protect API 客户端(非只读)才能部署 Custom Prevent Lists。

Set Up Automatically(推荐)

  1. 导航到你的 Jamf Protect 实例(例如 tenant.protect.jamfcloud.com)并登录
  2. 点击浏览器工具栏中的 Jamf Extender 图标
  3. Jamf Protect 部分出现,在 Configuration 下显示检测到的实例
  4. (可选)如需要可更改 Client Name
  5. 点击 "Set Up Automatically"
  6. 复制并保存 Client ID 和 Password(仅显示一次)到密码管理器

⚠️ 重要: 自动创建的客户端默认具有只读权限。对于 AI Visibility 部署,你需要写入访问权限。

在你创建上述初始 API 客户端后:

选项 A:授予完整 Admin

  1. 导航到 Administrative → API Clients 并选择新创建的 API 客户端
  2. 点击 Edit,并使用 Roles 下拉菜单添加 Full Admin 角色
  3. (可选)点击标签中的 X 以移除 Read Only 角色

选项 B:添加适当的写入权限

  1. 导航到 Administrative → Account → Roles 并选择 +Create Role
  2. 为新的 API 客户端命名(示例:Prevent List Creation)
  3. 取消勾选 Write 列顶部的复选框以取消选择所有权限
  4. 勾选 Write 列下的 Prevent Lists 复选框
  5. 导航到 Administrative → API Clients 并选择新创建的 API 客户端
  6. 点击 Edit,并使用 Roles 下拉菜单添加你创建的新限定角色
  7. (可选)点击标签中的 X 以移除 Read Only 角色

此操作的作用:

  • 通过 Protect 的 GraphQL API 创建 API 客户端
  • 使用从你的浏览器会话中捕获的 Auth0 JWT
  • 按来源存储凭据(例如 protect_creds:https://overview.protect.jamfcloud.com

第 D 部分:配置 Jamf Security Cloud 凭据

Manual Setup

在 Security Cloud 中:

  1. 从域名中复制你的 customerId 值——示例:https://radar.wandera.com/dashboard?customerId=1a2s3d4f5g6h7j8k9l0
  2. 在左侧菜单中导航到 Integrations → Risk API
  3. 点击 Generate API key
  4. 为该 API Key 命名
  5. 复制并保存 Application ID 和 Secret(仅显示一次)到密码管理器

在 Jamf Extender 中

  1. 点击 Jamf Extender 工具栏图标
  2. Configuration 部分中,展开 Manual 部分
  3. Portals 下的第一个下拉菜单中选择 Add new...
  4. Type 下选择 Security Cloud
  5. 将你的 customerId 粘贴到 Customer ID 字段
  6. 将你的 Application ID 粘贴到 Client ID 字段
  7. 将你的 Application Secret 粘贴到 Client Secret 字段
  8. 输入你用于登录 Security Cloud 的 Admin Email and Password

第 E 部分:创建 Portal Groups(将系统关联在一起)

Portal Groups 将你的 Jamf Pro 实例关联到 Protect 和/或 Security Cloud,从而启用跨平台设备查找和部署。

创建 Portal Group

  1. 点击 Jamf Extender 工具栏图标
  2. 滚动到 "Portal Groups" 部分
  3. 点击 "Add Group"
  4. 配置:
    • Group Name: 描述性名称(例如 "Production" 或 "Dev Environment")
    • Jamf Pro Instance: 从下拉菜单中选择(必须先配置)
    • Security Cloud Customer ID: (可选)如果部署域名阻止则选择
    • Jamf Protect Instance: (可选)如果部署 Prevent Lists 则选择
    • ⚠️ 一个 Portal Group 至少需要一个 Protect 或 Security Cloud
  5. 点击 "Add Group"

Portal Group 示例:

Name: Production Environment
Jamf Pro: https://myorg.jamfcloud.com
Security Cloud: Customer ID 12345
Jamf Protect: https://overview.protect.jamfcloud.com

Portal Groups 为何重要:

  • 该扩展会自动检测要部署到哪个 Protect/Security Cloud 实例
  • Jamf Pro 中的设备详情页面显示跨平台数据(漏洞、威胁等)
  • AI Visibility 部署会自动路由到正确的系统

第 1 部分:AI Visibility 面板与部署

现在到了有趣的部分!从 Jamf Account 部署 AI 治理阻止。

访问 AI Visibility

  1. 导航到 Jamf Account: account.jamf.com
  2. 使用你的 Jamf 凭据登录
  3. 前往:AI Governance → AI Visibility
  4. 选择你的环境(如果你管理多个)

你将看到:

  • "N unique products in use" 计数
  • 检测到的每个 AI 工具的产品卡片(例如 Claude、Cursor、ChatGPT)
  • 每张卡片显示:
    • 产品名称和 bundle ID
    • Launchers(主应用的 signing ID)
    • Commands(辅助进程的 signing ID)
    • 所选时间窗口内的事件计数

了解阻止状态指示器

Jamf Extender 会注入实时状态指示器,显示已被阻止的内容:

在点击任何内容之前,请留意:

  • 产品旁的绿色标记: "✓ Block Configured in Protect"
  • 进程旁的绿色标记: "✓ Block Configured"
  • 标题摘要标记:
    • "✓ All prevent lists configured (N)" — 所有内容均已被阻止
    • "N of M signing IDs blocked in Protect" — 部分覆盖

这些指示器会自动出现——无需配置。它们会实时检查你的 Protect 实例。首次加载时可能需要片刻才会显示。

部署阻止(所有产品)

要阻止页面上检测到的所有 AI 工具:

  1. 点击 "Configure Additional Blocks" 按钮

    • 位于 "N unique products in use" 计数的左侧
    • 覆盖页面上的所有产品
  2. 凭据检查(自动进行):

    • 扩展根据环境 UUID 解析你的 Protect 实例
    • 检查凭据是否具备写入能力(非只读)
    • 如果是只读:显示带有设置说明的错误
    • 如果就绪:打开部署模态框
  3. 选择要阻止的内容:

    Custom Prevent Lists:

    • 产品以复选框分组
    • 每个产品都有:
      • ☐ 产品 bundle ID 复选框(例如 com.anthropic.claudefordesktop
      • ☐ 每个 launcher/command signing ID 一个复选框 ✅ 关键要点:
    • 勾选标题复选框将勾选所有子复选框
    • 子复选框是独立的
    • 默认不勾选任何项
    • 已被阻止的 ID 显示绿色的 "Already blocked" 徽章

    Custom Domain Blocks:

    • (如果在 Portal Group 中配置了 Security Cloud)
    • 每个产品显示其已知域名
    • 勾选要阻止的域名(例如 claude.aiclaude.com
    • 域名阻止适用于 macOS、iOS、iPadOS、VisionOS、Android 和 Windows 终端
  4. 点击 "Deploy"

  5. 结果:

    • 成功计数:"Created N Prevent Lists, Skipped M duplicates"
    • 任何已存在的条目都会被自动跳过
    • Prevent Lists 会立即在所有已部署的 Plan 中生效

最终屏幕上会有按钮,可直接前往 Protect 或 Security Cloud 查看已添加的阻止

部署阻止(单个产品)

要仅阻止一个 AI 工具:

  1. 找到产品卡片(例如 "Claude")
  2. 点击 "Block {Product}" 链接
    • 位于卡片的控制簇中(day range 选择旁)
  3. 按照与上述相同的部署流程(仅限于该产品)

最终屏幕上会有按钮,可直接前往 Protect 或 Security Cloud 查看已添加的阻止

验证部署

在 Jamf Protect 中:

  1. 前往:Configuration → Prevent Lists
  2. 查找类似命名的新条目:
    • "Block AI Tool: com.anthropic.claudefordesktop"
    • "Block AI Tool: com.openai.chatgpt.atlas"
  3. 每个条目都有:
    • Type:Custom Prevent List

在 Jamf Security Cloud 中:

  1. 前往:Policies → Content filtering policy → Custom rules
  2. 查找新的自定义域名阻止
  3. 确认域名已列出并已分配到你需要分配的群组

返回 AI Visibility:

  • 刷新页面
  • 已部署项旁应出现绿色的 "✓ Block Configured" 徽章

最佳实践

1. 使用描述性的 Portal Group 名称

好的名称:"Production"、"Dev - US East"、"QA Environment"
差的名称:"Test"、"Group 1"、"asdf"

原因: 如果你管理多个环境,你会拥有多个 Portal Group。

2. 监控 Prevent List 的有效性

部署后:

  1. 在 Jamf Protect 中:Alerts → View All
  2. 筛选:Prevent List blocks
  3. 检查 AI 工具是否确实被阻止

原因: 验证你的部署在生产环境中正常工作。

3. 允许例外

要允许某个特定的 AI 工具(例如面向开发人员的 Claude):

选项 1 - 不部署其阻止:

  • 在部署时不勾选其复选框即可
  • 其他工具被阻止,而此工具保持开放

选项 2 - 移除 Prevent Lists:

  • 在 Jamf Protect 中:Configuration → Prevent Lists
  • 找到 "Block AI Tool: com.anthropic.claudefordesktop" 列表
  • 删除它
  • 该工具现在被允许
  • 在 Jamf Security Cloud → Policies → Content filtering policy → Custom rules 中
  • 移除任何不再需要的规则

第 2 部分:Windows AI 策略部署(可选)

除了在网络和进程层面阻止 AI 工具之外,你还可以将策略配置直接部署到 Windows 终端上的 AI 应用。这对于需要以下操作的组织尤其有用:

  • 使用组织批准的设置配置 AI 工具(例如已批准的模型、API 端点、功能标志)
  • 通过 MDM 在 Windows 设备群中强制实施一致的配置
  • 使用受管理的设置部署 Claude Code 或 Claude Desktop

部署的内容

Jamf Extender 会生成 Windows 部署软件包,将策略配置写入 Windows Registry:

Claude Code:

  • Registry path:HKLM\SOFTWARE\Policies\ClaudeCode\Settings
  • 格式:包含所有设置的单个压缩 JSON 字符串
  • 部署方式:验证并写入注册表值的 PowerShell 脚本

Claude Desktop (Claude Cowork):

  • Registry path:HKLM\SOFTWARE\Policies\Claude
  • 格式:每个设置键一个注册表值(例如 modeltemperature
  • 部署方式:写入各个字符串值的 PowerShell 脚本

为 Windows 导出策略

  1. 导航到 AI Policies:

    • 前往 Jamf Account 中的:AI Governance → AI Policies
    • 找到你想要部署到 Windows 的策略
  2. 导出单个策略:

    • 点击策略旁的三点菜单 (⋯)
    • 选择 "Export for Windows"
    • 浏览器下载一个类似命名的 ZIP 文件:claude-code-windows-deploy.zip
  3. 或导出所有策略(批量):

    • 点击工具栏中的 "Download Policies for Windows"
    • 浏览器下载:ai-policies-windows-deploy.zip
    • 包含每个策略的单独部署文件夹

了解软件包结构

每个策略导出包含:

claude-code-windows-deploy/
├── Deploy-ClaudeCode-Registry.ps1        # Device-side registry writer
├── intune/
│   ├── Provision-ClaudeCode-Intune.ps1   # Admin provisioner (PowerShell)
│   └── provision_claudecode_intune.py    # Admin provisioner (Python/MSAL)
├── metadata.json                          # Source policy details
└── README.txt                             # Setup instructions

对于 Claude Desktop 策略,你还会看到:

settings/settings.json                     # Reference copy of settings

对于批量导出:

ai-policies-windows-deploy/
├── policy-1/                              # One folder per policy
│   ├── Deploy-ClaudeCode-Registry.ps1
│   └── intune/...
├── policy-2/
│   ├── Deploy-ClaudeDesktop-Registry.ps1
│   └── intune/...
├── all-policy-import/
│   ├── Import-All-AIPolicies-Intune.ps1   # Multi-policy provisioner
│   └── import_all_aipolicies_intune.py    # Multi-policy provisioner
└── metadata.json                          # Index of all policies

部署选项 1:任何 MDM(手动脚本执行)

设备端脚本Deploy-*.ps1)可与任何能够执行 PowerShell 脚本的 MDM 配合使用。

步骤:

  1. 解压 ZIP 软件包
  2. 审阅 Deploy-ClaudeCode-Registry.ps1Deploy-ClaudeDesktop-Registry.ps1
  3. 将脚本上传到你的 MDM(Intune、Workspace ONE 等)
  4. 分配到 Windows 设备组
  5. 脚本以 SYSTEM 身份运行并写入注册表

脚本的作用:

  • 将策略 JSON 直接嵌入脚本中
  • 使用 ConvertFrom-Json 验证 JSON 语法(遇到错误立即失败)
  • 如果注册表键不存在则创建
  • 将设置写入相应的 registry path
  • 以代码 0(成功)或 1(失败)退出

支持的 MDM 工具:

  • Microsoft Intune(Platform Scripts)
  • VMware Workspace ONE(Scripts & Sensors)
  • 任何能够以 SYSTEM 上下文执行 PowerShell 的 MDM

部署选项 2:Microsoft Intune(自动预配置)

Intune provisioner 通过 Microsoft Graph API 自动将脚本上传到 Microsoft Intune。

选择你的 provisioner:

PowerShell Provisioner (Provision-*-Intune.ps1)

前提条件:

  • 具有 PowerShell 5.1+ 的 Windows 计算机
  • 已安装 PowerShell Microsoft.Graph 模块:Install-Module Microsoft.Graph
  • Entra ID Global Administrator 或 Intune Administrator 角色

步骤:

  1. 解压 ZIP 软件包
  2. 导航到:intune/
  3. 右键点击 Provision-ClaudeCode-Intune.ps1Run with PowerShell
  4. 审阅确认提示,其中显示:
    • 策略名称和版本
    • 所需的 Intune 权限
    • 将在 Intune 中创建的内容
  5. 输入 Y 确认
  6. 浏览器打开进行交互式 Microsoft 登录(支持 MFA)
  7. 脚本进行身份验证并将设备端脚本上传到 Intune
  8. 脚本输出: Intune Platform Script ID 和成功确认

在 Intune Portal 中的后续步骤:

  1. 前往:Devices → Scripts and remediations → Platform scripts
  2. 找到你新创建的脚本(例如 "Claude Code Policy v1")
  3. 点击 Assignments → 添加设备组
  4. 这些组中的设备将在下次签入时收到该策略

Python/MSAL Provisioner (provision_*_intune.py)

为何使用 Python?

  • 可在 Windows、macOS 或 Linux 上运行
  • 无需应用注册
  • 使用 OAuth device-code flow(基于浏览器,支持 MFA)
  • 无需管理任何 secret

前提条件:

pip install msal requests

步骤:

  1. 解压 ZIP 软件包
  2. 导航到:intune/
  3. 运行:python provision_claudecode_intune.py
  4. 审阅确认提示
  5. 输入 yes 确认
  6. 脚本打印:"Go to https://microsoft.com/devicelogin and enter code: XXXXXX"
  7. 打开浏览器,输入代码,使用 Intune 管理员账户登录
  8. 脚本完成上传
  9. 在 Intune Portal 中分配到设备组(与 PowerShell 流程相同)

优势:

  • 跨平台(无需 Windows)
  • 零应用注册开销
  • 基于浏览器的身份验证(熟悉的 MFA 流程)
  • 仅使用开源依赖项

批量策略部署(一次部署多个策略)

对于管理多个 AI 策略的组织:

使用 All-Policy Provisioner:

  1. 解压 ai-policies-windows-deploy.zip
  2. 导航到:all-policy-import/
  3. 运行其中之一
    • PowerShell:Import-All-AIPolicies-Intune.ps1
    • Python:python import_all_aipolicies_intune.py
  4. 单次身份验证流程即可上传所有策略
  5. 每个策略成为一个单独的 Intune Platform Script

结果:

  • 一次运行即创建多个 Intune 脚本
  • 每个脚本可分配到不同的设备组
  • 适用于向不同团队部署不同配置(例如工程团队与市场团队)

验证 Windows 部署

在测试设备上:

  1. 打开 Registry Editorregedit.exe
  2. 导航到:
    • Claude Code:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\ClaudeCode
    • Claude Desktop:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Claude
  3. 验证注册表值存在

对于 Claude Code:

  • 查找名为 Settings 的值(REG_SZ)
  • 该值包含压缩的 JSON(无换行符)

对于 Claude Desktop:

  • 多个值,每个设置键一个
  • 每个值都是字符串(即使对于布尔值/数字也是如此)
  1. 启动应用(Claude Code 或 Claude Desktop)
  2. 验证设置已强制实施(例如模型选择、API 端点)

故障排除:

  • 如果注册表值缺失:检查 MDM 脚本执行日志
  • 如果应用忽略设置:确保应用版本支持受管理的注册表设置
  • 如果脚本失败:检查 metadata.json 是否有验证错误

Schema 验证(仅限 Claude Code)

Claude Code 策略在部署前会针对官方 JSON schema 进行验证:

验证发生在:

  • 导出时(在 Jamf Extender 中)
  • 脚本执行时(设备端 PowerShell 验证 JSON 语法)

验证的内容:

  • 类型不匹配(例如期望布尔值处出现字符串)
  • 无效的枚举值(例如不受支持的模型名称)
  • 未知的配置键
  • 环境变量命名(必须为大写、字母数字加下划线)

错误显示位置:

  • 导出期间在浏览器中(如有严重错误则阻止下载)
  • 导出后在 README.txt 中(仅警告)
  • 在 PowerShell 脚本输出中(JSON 解析失败)

Claude Desktop:

  • 无已发布的 schema(按原样部署)
  • 管理员需负责对照 Claude Desktop 文档验证设置

Windows 部署最佳实践

1. 生产前先测试

  • 首先部署到试点设备组
  • 验证注册表值已正确写入
  • 使用受管理的设置测试应用行为

2. 为你的策略设定版本

  • 策略版本嵌入在 Intune 脚本名称中(例如 "Claude Code Policy v2")
  • 更新策略会创建新版本
  • 旧版本会保留在 Intune 中,除非手动删除

3. 使用描述性的策略名称

  • 好:Claude Code - Engineering Team - GPT-4 Only
  • 差:"Policy 1"、"Test"、"asdf"
  • 策略名称会显示在 Intune Platform Script 列表中

4. 保持凭据安全

  • Intune provisioner 使用交互式身份验证(不嵌入凭据)
  • 设备端脚本仅包含策略 JSON(无 secret)
  • 如果提取的软件包包含敏感设置,切勿将其提交到源代码管理中

5. 部署前先审阅

  • 始终检查软件包中的 README.txt
  • 审阅元数据中的验证错误/警告
  • 在 MDM 上传前于开发机上测试 PowerShell 脚本语法

Windows 部署限制

此功能不会做的事:

  • 不会安装 Claude Code 或 Claude Desktop(需要单独部署)
  • 不会在进程层面阻止 AI 工具(请使用 Jamf Protect)
  • 在 macOS 上不起作用(请使用 macOS MDM profile 或基于文件的设置)
  • 不会部署到 Linux 终端

仅限注册表:

  • 基于文件的设置(例如应用目录中的 settings.json不会被写入
  • 应用必须从注册表策略位置读取
  • 请验证你的应用版本支持基于注册表的受管理设置

支持与反馈

如果你发现了未知工具的 signing ID:

  1. 运行:codesign -dv /Applications/YourApp.app
  2. 捕获:Bundle ID、Team ID、域名
  3. 提交 GitHub issue 并附上验证报告

你的贡献会帮助整个 Jamf 社区!

这对您有帮助吗?