修正
重要
主动修正已重命名为“修正”,现在可从“设备管理设备>>”“脚本和修正”获取。 本文档中对主动修正的所有引用都替换为 “修正”。 但是,术语“主动修正”可能仍出现在某些博客和其他文章中。
修正有助于在最终用户发现问题之前修复常见的支持问题。
本文介绍如何:
- 查看修正的先决条件
- 部署内置脚本包
- 部署自定义脚本包
- 按需运行修正脚本 (预览)
- 客户端策略检索和客户端报告
- 监视脚本包
- 导出脚本输出
- 监视设备的修正状态
关于修正
修正是脚本包,可以在用户意识到存在问题之前检测和修复用户设备上的常见支持问题。 修正有助于减少支持呼叫。 你可自行创建脚本包,也可部署我们编写并在我们的环境中使用的某个脚本包,以减少支持票证。
每个脚本包都由一个检测脚本、一个修正脚本和元数据组成。 通过 Intune,可以部署这些脚本包,并查看报表以了解其有效性。
先决条件
无论是通过Intune还是Configuration Manager注册设备,修正脚本都具有以下要求:
设备必须Microsoft Entra联接或Microsoft Entra混合联接,并满足以下条件之一:
授权
修正要求设备的用户具有以下许可证之一:
Windows 10/11 企业版 E3 或 E5(包含在 Microsoft 365 F3、E3 或 E5 中)
Windows 10/11 教育版 A3 或 A5(包含在 Microsoft 365 A3 或 A5 中)
Windows 10/11 每个用户的虚拟桌面访问 (VDA)
权限
对于“修正”,用户在 “设备配置” 类别下需要与其角色相对应的权限。 有关详细信息,请参阅Microsoft Intune的基于角色的访问控制。
在首次使用修正之前,需要Intune服务管理员确认许可要求。
脚本要求
- 最多可以有 200 个脚本包。
- 脚本包只能包含检测脚本,也可以同时包含检测脚本和修正脚本。
- 修正脚本仅在检测脚本使用退出代码
exit 1
时运行,这意味着检测到问题。
- 修正脚本仅在检测脚本使用退出代码
- 确保脚本为 UTF-8 编码。
- 如果在创建脚本包的 设置 页中启用了 强制脚本签名检查 选项,请确保脚本在 UTF-8 而不是 UTF-8 BOM 中进行编码。
- 允许的最大输出大小限制为 2048 个字符。
- 如果在创建脚本包的 设置 页面中已启用 强制进行脚本签名检查,则该脚本将使用设备的 PowerShell 执行策略运行。 Windows 客户端计算机的默认执行策略为 受限。 Windows Server 设备的默认执行为 RemoteSigned。 有关详细信息,请参阅 PowerShell 执行策略。
- 修正中内置的脚本已签名,并将证书添加到设备的 受信任发布者 证书存储中。
- 在使用已签名的第三方脚本时,请确保证书位于 受信任的发布者 证书存储中。 与任何证书一样,证书颁发机构必须受到设备信任。
- 没有 强制执行脚本签名检查 的脚本使用 绕过 执行策略。
- 不要在检测或修正脚本中放置重新启动命令。
- 请勿在脚本中包含任何类型的敏感信息 (,例如密码)
- 请勿在脚本中包含个人身份信息 (PII)
- 不要使用脚本从设备收集 PII
- 始终遵循隐私最佳做法
部署内置脚本包
可以使用内置脚本包开始使用修正。 Microsoft Intune 管理扩展 服务从 Intune 中获取并运行脚本。 只需分配以下内置脚本包即可:
- 更新过时的组策略 - 过时的组策略可能导致与连接和内部资源访问相关的帮助台票证。
- 重启 Office 即点即用服务 - 当即点即用服务停止时,Office 应用将无法启动,从而导致帮助台调用。
如果要分配脚本包,请执行以下操作:
- 从 “设备>管理设备>脚本和修正 ”节点中选择一个内置脚本包。
- 选择“属性”,然后在“分配”标题下,选择“编辑”。
- 选择要 分配给 的组以及脚本包的任何 排除的组。
- 如果要更改 范围标记,请选择“编辑”,然后 选择范围标记。
- 如果要更改计划,请选择省略号,然后选择“编辑”以指定设置,然后选择“应用”以保存它们。
- 完成后,选择“审阅 + 保存”。
创建和部署自定义脚本包
Microsoft Intune 管理扩展 服务从 Intune 中获取并运行脚本。 脚本每 24 小时重新运行一次。 可以复制提供的脚本并部署它们,也可以创建自己的脚本包。 若要部署脚本包,请按照下一部分中的说明进行操作。
复制提供的检测和修正脚本
- 复制 PowerShell 脚本 一文中的脚本。
- 名称以
Detect
开头的脚本文件是检测脚本。 修正脚本以Remediate
开始。 - 有关脚本的说明,请参阅脚本说明。
- 名称以
- 使用提供的名称保存每个脚本。 此名称也位于每个脚本顶部的注释中。 确保已保存的脚本使用 UTF-8 进行编码。
- 你可以使用不同的脚本名称,但它将不与 脚本说明 中列出的名称相匹配。
部署脚本包
修正脚本需要在 UTF-8 中编码。 上传这些脚本而不是直接在浏览器中编辑它们,有助于确保脚本编码正确,以便设备可以执行它们。
在Intune管理中心,转到“设备>管理设备>”“脚本和修正”。
在“基本信息”步骤中,为脚本包指定 名称,并且可以选择添加 说明。 可以编辑“发布者”字段,但默认为你的名称。 无法编辑“版本”。
在 设置 步骤中, 通过执行以下步骤上传 检测脚本文件 和 修正脚本文件:
- 选择文件夹图标。
- 浏览到
.ps1
文件。 - 选择文件,然后选择“打开”来上传该文件。
如果检测到目标问题,检测脚本必须使用退出代码
exit 1
。 如果存在任何其他退出代码,则不会运行修正脚本。 包括空输出,因为它会导致 “找不到问题 ”状态。 有关退出代码用法的示例,请查看 示例检测脚本 。需要在同一个包中包含相应的检测和修正脚本。 例如,
Detect_Expired_User_Certificates.ps1
检测脚本对应Remediate_Expired_User_Certificates.ps1
修正脚本。使用以下建议的配置完成“设置”页上的选项:
- 使用登录凭据运行此脚本:此设置取决于脚本。 有关详细信息,请参阅 脚本说明。
- 强制执行脚本签名检查:否
- 在 64 位 PowerShell 中运行脚本:否
有关强制执行脚本签名检查的信息,请参阅 脚本要求。
选择“ 下一步 ”,然后分配所需的任何 作用域标记 。
在“分配”步骤中,选择要将脚本包部署到其中的设备组。 准备好将包部署到用户或设备后,还可以使用筛选器。 有关详细信息,请参阅 在 Microsoft Intune中创建筛选器。
注意
不要在包含和排除分配之间混合使用用户和设备组。
完成部署的“审核 + 创建”步骤。
按需运行修正脚本 (预览)
可以使用 “运行修正设备” 操作,按需对单个 Windows 设备运行修正脚本。
按需运行修正脚本的先决条件
必须先配置修正,然后才能按需使用修正脚本。
内置或自定义脚本包必须可供用户按需运行修正,但不需要将其分配给用户或设备。 可以使用 作用域标记 来限制用户可以看到的修正脚本包。
用户必须是全局管理员、Intune管理员,或者具有“远程任务) ”下提供的“运行修正”权限 (角色。 在公共预览版期间,用户还必须具有“组织:读取”。
设备处于联机状态,并且能够在远程操作期间与 Intune 和 Windows 推送通知服务 (WNS) 通信。
必须在设备上安装 Intune 管理扩展。 将 Win32 应用、PowerShell 脚本或修正分配给用户或设备时,将自动完成安装。
如何按需运行修正脚本
- 登录到 Microsoft Intune 管理中心。
- 导航到 “设备>按平台>”“Windows> ”选择受支持的设备。
- 在设备的 “概述 ”页上,选择“ ...”> (预览) 运行修正。
- 在 “运行修正 (预览) ”窗格中,从列表中选择要运行的 脚本包 。 选择“ 查看详细信息 ”可查看脚本包的属性,例如检测和修正脚本内容、说明和配置设置。
- 若要按需运行修正,请选择“ 运行修正”。
注意
一次只能针对同一设备发出一个 运行修正 设备操作。 如果在短时间内对设备运行多个 运行修正 设备操作,它们可能会相互覆盖。
注意
如果设备未联机或能够在发送设备操作时成功与 Intune 或 Windows 推送通知服务通信, (WNS) ,则设备可能不会收到“运行修正设备”操作。
客户端策略检索和客户端报告
客户端在以下时间检索修正脚本的策略:
重启设备或 Intune 管理扩展服务后
用户登录到客户端后
每 8 小时一次
- 8 小时脚本检索计划是基于 Intune 管理扩展服务的启动时间固定进行的。 用户登录不会更改计划。
客户端在以下时间报告修正信息:
如果脚本设置为运行一次,则会在脚本运行后报告结果。
定期脚本遵循七天的报告周期:
在前六天内,仅当发生更改时,客户端才会报告。 首次运行脚本时将被视为更改。
客户端每七天发送一次报告,即使没有更改。
监视脚本包
导出脚本输出
为了帮助你轻松分析返回的输出,请使用“导出”选项将输出另存为 .csv
文件。 将输出导出到 .csv
文件后,可以在有问题的设备上运行修正时分析返回的输出。 导出还允许与他人共享结果,以便进行更多分析。
监视设备的修正状态
可以查看已分配给设备或按需运行的修正状态。
- 登录到 Microsoft Intune 管理中心。
- 导航到 “设备>按平台>”“Windows> ”选择受支持的设备。
- 在“监视”部分选择“修正”。
后续步骤
获取用于修正的 PowerShell 脚本 。
详细了解 PowerShell 脚本安全性。