Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

如何使用 MS Intune 部署任意脚本

如何使用 MS Intune 部署任意脚本

Mar 17, 2023

在为 Intune 管理员部署脚本时,可用的脚本方法只有一种: Intune PowerShell Scripts。PowerShell 可以是一个强大的格式,但你很可能已经有现成的脚本,希望在已加入域和未加入域的机器上加以利用。Intune 的脚本功能不支持部署 VBscripts、批处理脚本或 JavaScript 脚本。

  • 来自 Intune 的这些 PowerShell 脚本只能在某些情况下成功,并且只会运行一次,之后再也不会运行(除非脚本本身发生更改)。此外,如果脚本在三次重试后仍然失败,则不会再进行额外的运行尝试。这使得通过 Intune 的 PowerShell 脚本方式无法实现反复运行的脚本。
  • 当用户或计算机在 Intune 中更改组(或某项策略不再适用)时,无论脚本做了什么更改,都会保留在该计算机上。Intune 无法在脚本交付之后对其进行“还原”或“撤销”。
  • 无法基于诸如连接到 VPN 之类的事件来触发脚本,也无法将脚本安排在特定时间或特定日期运行,或在某个进程启动时运行。
  • 无法筛选脚本应运行在哪些位置。如果你的用户或计算机分布在各种组中,你可能需要撤销你现有的 Azure 或 AD 组成员关系,仅仅是为了使用 Intune 脚本。
  • 此外,脚本也不能以交互方式运行,也无法在用户上下文中执行类似管理员的操作。

下方截图展示了使用 MEM(Intune)进行脚本部署时可用的全部选项。

Microsoft Endpoint Manager 'Add Powershell script' screen, showing 'Script settings' with 'OnlyOneOption.ps1' as the script and all execution options set to 'No'.

通过 Intune 将脚本部署到 Windows 10 电脑,选择更多(4 倍)

PolicyPak Scripts Manager 提供的选项是 Intune 的四倍,这意味着无论您的 Windows 10 设备是否已启用 MDM、是否加入域,或是否未加入域,您都能对任意设备进行更强的控制。此外,PolicyPak 编辑器内置在管理员已经在使用的 Group Policy Management Editor 工具中。您可以将这些脚本带回本地并结合 Group Policy 使用,也可以导出以在 Intune 中使用。

在 PolicyPak Scripts manager 中创建策略非常简单(见下图)。

PolicyPak Scripts Manager interface with

PolicyPak Scripts Manager 使用向导,引导您完成策略制作流程。PolicyPak Scripts Manager 支持多种脚本类型,包括 Batch、PowerShell、VB 和 JavaScript,这让您可以真正选择哪种脚本类型最适合您的需求。您既可以自己编写脚本命令,也可以使用下方所示的“File”按钮浏览并选择已有的文件。

Image

PolicyPak Scripts Manager 提供的“选择”能力不仅限于脚本格式的选择。它还允许您在策略不适用时回滚脚本。例如,在上一张截图中,我们映射了共享打印机。假设我们希望:一旦用户超出了指定策略的适用范围,就删除所有网络打印机。如果这次想用 VB 脚本而不是 Batch 文件,也完全没问题。只需按下方示例创建一个使用 VB Script 的回滚操作脚本即可。

Image

当然,如果您更喜欢 PowerShell,也可以将其作为选择来使用。比如我们想要映射一个网络驱动器。在这种情况下,我们会以交互方式运行,因为“Get-Credential”会提示用户输入密码,如下所示。

Image
Image

此示例的最后一步是决定脚本运行的频率。您可以选择在每次策略处理时运行,并使用如下所示的“Always”标志进行登录。

Image

在触发脚本时使用“选择自由”

如果您确实想在脚本部署方面拥有类似“超级管理员”的权限,那么请查看 PolicyPak Scripts Manager 提供的各种触发选项。触发并不是什么新鲜事物。从一开始,组策略就已经允许您使用登录和注销触发器。然而,今天的世界已经不同于 20 年前,而 PolicyPak 也在不断演进,以适应明天动态且变化无常的环境。PolicyPak Scripts Manager 为您提供了多种可选择的触发点。

在你进入“全新已连接 VPN”的工作环境之后,是否一直在想该如何继续将你的一系列本地(on-premise)脚本部署给用户?借助 PolicyPak Scripts Manager,你可以在用户连接 VPN 时启动脚本,而无需考虑你所使用的 VPN 解决方案。 这意味着:当用户连接时你可以映射该驱动器;断开连接后,你再删除该映射。你还可以根据指定进程的启动或关闭、会话锁定、预先分配的计划,或下面所示的传统登录与注销操作来触发脚本。

Image

可实现细粒度的按项目级别定向选择

Microsoft Intune不会让你细粒度地选择脚本应该在哪些位置/场景中应用。但将 Intune 与 PolicyPak 结合使用则不同。

如果我们希望通过 VPN 触发来更精确地部署脚本策略,我们可以只选择使用 Windows 10 便携式设备的特定用户组成员。我们甚至可以添加 IP 地址范围,使该策略仅在计算机位于企业网络之外时才生效。你可以在下方截图中看到所有这些条件。

Image

选择带来力量

PolicyPak 可以增强你的 Intune 脚本编写能力。正如我们所见,Intune 的脚本功能并不差,但它的能力是有限的:

  • 仅支持 PowerShell
  • 没有筛选/按项目级别定向
  • 没有回滚脚本功能
  • 没有交互性
  • 无法始终重新应用脚本
  • 没有触发器

下面是几段视频,帮助你更全面地了解我们在这里讲过的内容:

如果说选择就是力量,那么 PolicyPak 就将这种力量交付给您。

分享到

了解更多

关于作者

Jeremy moskowitz

Jeremy Moskowitz

产品管理副总裁(端点产品)

Jeremy Moskowitz 是计算机与网络安全领域备受认可的专家。作为 PolicyPak Software 的联合创始人兼 CTO(现已成为 Netwrix 的一部分),他同时还是微软在组策略、企业移动性与 MDM 领域的前 20x MVP。Jeremy 撰写了多本畅销书,包括《Group Policy: Fundamentals, Security, and the Managed Desktop》和《MDM: Fundamentals, Security, and the Modern Desktop》。此外,他还是桌面设置管理等主题备受追捧的演讲嘉宾,并且是 MDMandGPanswers.com 的创办人。