当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

作者:精品下载站 日期:2024-12-14 10:17:50 浏览:13 分类:玩电脑

如何在 macOS 设备上的 Intune 中运行 Shell 脚本


在这篇文章中,我将向您展示如何在 macOS 设备上的 Intune 中运行 shell 脚本。您可以在 macOS 设备上使用 shell 脚本来扩展 Intune 中的设备管理功能。

我们都知道,您可以使用 Intune 在 Windows 设备上部署 PowerShell 脚本。在 macOS 设备上运行 shell 脚本会改变游戏规则,因为这些脚本允许您对 macOS 设备进行复杂的更改。如果您的设置中有大量 Mac 设备,您可以使用 Intune 将配置更新批量分发到这些设备。

当您创建 shell 脚本策略并将其分配给 macOS 设备时,它会作为单独的进程运行,并且运行状态会提供回 Intune,使管理员能够监控执行成功或错误代码。当您将脚本设置为定期运行时,脚本会保存在本地以节省下载时间。

注意:在 Apple Silicon Mac 上运行 x64 (Intel) 版本的应用程序需要 Rosetta 2。要在 Apple Silicon Mac 上自动安装 Rosetta 2,您可以在 Endpoint Manager 中部署 shell 脚本。另请参阅如何使用 Intune 管理 macOS 上的软件更新。

先决条件

使用 Intune 在 macOS 设备上运行 shell 脚本需要满足以下先决条件:

  • macOS 设备必须运行 11.0 或更高版本。
  • 在运行 shell 脚本之前,必须在 Intune 中注册 macOS 设备。
  • macOS 设备必须直接连接到互联网。不支持通过代理连接。
  • 您必须准备好脚本才能将其应用到 macOS 设备。
  • shell 脚本以 #!并且必须位于有效位置,例如 #!/bin/sh#!/usr/bin/env zsh
  • 适用 shell 的命令行解释器已安装。

将 macOS Shell 脚本与 Intune 结合使用的注意事项

下面列出了 Microsoft 在使用 Intune 的 macOS 设备上使用 shell 脚本之前提供的重要注意事项:

  • Shell 脚本要求在 macOS 设备上成功安装 Microsoft Intune 管理代理。如果您已将 macOS 设备注册到 Intune,则不必担心这一点。
  • 通过 Intune 部署的 Shell 脚本作为单独的进程在设备上并行运行。
  • 以登录用户身份运行的 Shell 脚本将为运行时设备上所有当前登录的用户帐户运行。
  • 最终用户需要登录设备才能执行以登录用户身份运行的脚本。
  • 如果脚本需要进行标准用户帐户无法进行的更改,则需要 root 用户权限。
  • 在某些情况下,Shell 脚本将尝试比所选脚本频率更频繁地运行。例如,如果磁盘已满,如果存储位置被篡改,如果本地缓存被删除,或者如果Mac设备重新启动。
  • 运行时间超过 60 分钟的 shell 脚本将停止并报告为“失败”。

为 macOS 准备好 Shell 脚本

如前所述,您必须准备好 shell 脚本,以便可以在 macOS 设备上运行它。我将部署一个示例 macOS shell 脚本,该脚本将在 Mac 上启用远程管理。

对于初学者来说,Mac 中的远程管理可让远程用户使用 Apple 远程桌面管理设备。它允许那些对设备具有预定义访问权限的用户管理系统、与用户交互、配置首选项、部署文件等。Mac 用户可以从系统首选项 中管理(打开/关闭)远程管理(系统设置> 常规 > 共享 > 远程管理)。

以下脚本激活 macOS 设备上的远程管理。打开记事本应用程序,将以下代码复制到文件中并使用 filename.sh 保存(SH 文件是可以使用 Bash Unix shell 运行的脚本)。您需要在下一步中将此文件上传到 Intune。

#!/bin/sh
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate

注意:在 Intune 中创建和分配 shell 脚本策略之前,必须对其进行功能测试。在 Mac 设备上手动执行它以验证脚本是否有效。

在 Intune 中的 macOS 设备上运行 Shell 脚本

让我们逐步了解在 Intune 中在 macOS 设备上运行 shell 脚本的步骤。使用以下步骤在 Intune 中创建 shell 脚本策略并将其分配给 macOS 设备。

  • 登录 Microsoft Intune 管理中心。
  • 导航至设备 > macOS,然后选择Shell 脚本
  • 单击添加按钮为 macOS 创建 Shell 脚本。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

添加脚本窗格的基本选项卡中输入配置文件的名称。添加有关该策略的简短说明。

例如,您可以为 macOS Shell 脚本输入以下信息:

名称:在 macOS 设备上启用远程管理
描述:Mac 中的远程管理可让远程用户借助 Apple 远程桌面来管理设备。

单击下一步

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

脚本设置选项卡上,您必须上传脚本。单击浏览图标并选择 shell 脚本。 macOS shell 脚本文件的大小必须小于 200 KB。您可以查看已上传的脚本,但目前无法编辑或修改脚本。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

向下滚动一点,您将在这里找到一些可以为 macOS 脚本执行进行配置的重要设置。

  • 以登录用户身份运行脚本:选择可使用设备上的用户凭据运行脚本。选择否(默认)以 root 用户身份运行脚本。默认情况下,该脚本以 root 用户身份运行。 root 用户可以进行标准用户帐户无法进行的系统更改。
  • 隐藏设备上的脚本通知:默认情况下,会为每个运行的脚本显示脚本通知。最终用户会看到 IT 正在从 macOS 设备上的 Intune 配置您的计算机通知。如果未配置,这些消息将显示在通知中心中。
  • 脚本频率:选择脚本在 macOS 设备上运行的频率。选择未配置(默认)以仅运行脚本一次。
  • 脚本失败时重试的最大次数:选择脚本返回非零退出代码(零表示成功)时应运行的次数。选择未配置(默认),以便在脚本失败时不重试。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

分配选项卡上,选择要部署 shell 脚本的 Azure 组。选择要为其分配脚本的一个或多个用户或设备组。您选择的组将显示在列表中,并将收到您的脚本策略。单击下一步

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

查看+添加中,会显示您配置的设置的摘要。选择添加以保存脚本。当您选择添加时,脚本策略将部署到您选择的 macOS 设备/用户组。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

您创建的 macOS Shell 脚本现在显示在脚本列表中。如果需要,您可以在将 macOS shell 脚本上传到 Intune 后选择并查看其内容。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

您必须等待 shell 脚本策略应用于目标组,一旦设备签入 Intune 服务,它们将收到脚本。您还可以在 Mac 设备上的公司门户中运行检查状态,以从 Intune 检索最新政策。

在 Intune 中监视 macOS Shell 脚本策略

您可以通过在 Intune 中选择以下报告之一来监控为用户和设备分配的所有 macOS 脚本的运行状态:

  • Shell 脚本 > 选择要监控的脚本 > 设备状态
  • Shell 脚本 > 选择要监控的脚本 > 用户状态

在下面的屏幕截图中,我们看到脚本策略已在 macOS 设备上成功执行。在Mac设备上,通过部署的脚本启用远程管理。

[玩转系统] 如何在 macOS 设备上的 Intune 中运行 Shell 脚本

Intune 中的 MacOS 脚本状态

在某些 macOS 设备上,运行脚本策略可能会成功,但在其他设备上也可能会失败。了解脚本策略的状态对于调试 macOS shell 脚本策略是必要的。当脚本在 macOS 设备上完成执行时,会返回以下状态之一。

Success

指示脚本返回零作为退出代码。

Failed

指示脚本返回非零退出代码或脚本格式错误。

No Status

万一设备上收到脚本并且设备在报告运行状态之前离线,设备将不会在管理中心报告脚本的运行状态。

分配的脚本未在 macOS 设备上运行的 3 个原因

在极少数情况下,在创建 shell 脚本策略并将其分配给 macOS 设备后,关联的脚本不会运行。以下是分配的脚本无法在 macOS 设备上运行的一些原因:

  • 代理可能需要签入才能接收新的或更新的脚本。此签到流程每 8 小时发生一次,与 MDM 签到不同。确保设备处于唤醒状态并连接到网络以便代理成功签入,然后等待代理签入。您还可以请求最终用户在 Mac 上打开公司门户,选择设备并单击“检查”设置。
  • Intune 代理可能未安装在 macOS 上。检查代理是否安装在 macOS 设备上的 /Library/Intune/Microsoft Intune Agent.app 中。
  • 代理可能不处于健康状态。如果仍然分配了 shell 脚本,代理将在 24 小时内尝试恢复、自行删除并重新安装。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯