如何使用Intune (MEM)部署PowerShell脚本

在这篇文章中,我将向您展示如何使用Intune (MEM)部署PowerShell脚本。您可以使用Microsoft Intune管理扩展在Intune中上传PowerShell脚本。上传PowerShell脚本后,即可在Windows 10设备上运行该脚本。

你可能会想到底是什么Intune管理扩展.管理扩展增强了Windows设备管理(MDM),使其更容易迁移到现代管理。如果用户或设备针对的是PowerShell脚本或Win32应用程序,Intune将自动在设备上安装Intune管理扩展(IME)。

在Intune中将PowerShell脚本部署到设备时,您将注意到设备上安装了Intune Management Extension。

PatchMyPC HorizontalAD
修补我的电脑赞助广告
Intune管理扩展
Intune管理扩展

在Microsoft端点管理器中部署PowerShell脚本之前

在部署PowerShell脚本之前需要了解的一些要点。

  • 在Intune中创建PowerShell脚本时,如果将脚本设置为用户上下文,并且最终用户具有管理员权限,则默认情况下,PowerShell脚本以管理员权限运行。
  • 最终用户不需要登录到设备来执行PowerShell脚本。这是一件好事。
  • Intune管理扩展代理每小时检查一次,并在每次重新启动后检查是否有任何新的脚本或更改。将策略分配给Azure的广告组时,运行PowerShell脚本,并报告运行结果。
  • 对于共享设备,PowerShell脚本将为每个登录的新用户运行。
  • PowerShell脚本在Win32应用程序运行之前执行,PowerShell脚本在30分钟后超时。

在Intune中部署PowerShell脚本的前提条件

在Intune中部署PowerShell脚本之前,下面列出了Intune管理扩展的先决条件。

  • 必须使用Windows 10 1709及以上版本的设备。
  • Azure AD加入设备或混合Azure AD加入设备。
  • 设备注册入调- GPO注册或手动注册或MDM自动注册。
  • 使用配置管理器和Intune的共同管理设备。

创建PowerShell脚本

如果您有一个PowerShell脚本,可以在Intune或MEM门户中上传,则可以继续下一步。在这篇文章中,我将使用一个非常简单的PowerShell脚本在设备上创建注册表项。这仅用于测试目的。您可以使用下面的PowerShell脚本进行测试。将脚本保存为filename。你可以在Intune中上传它。

新项目-路径HKCU:\软件\Prajwa华体会体育系列l
Set-ItemProperty HKCU:\华体会体育系列Software\Prajwal -Name用户名-Value "Prajwal" -Type字符串
Set-ItemProperty HKCU:\华体会体育系列Software\Prajwal -Name Version -Value "20" -Type Dword

使用Intune (MEM)部署PowerShell脚本

现在,我们将看看使用Intune (MEM)添加和部署PowerShell脚本的步骤。添加新的PowerShell脚本的步骤如下。

  • 登录到Microsoft Endpoint Manager门户(Intune)
  • 选择设备然后选择Windows设备
  • Windows的政策中,选择PowerShell脚本
  • 单击,添加新的PowerShell脚本添加按钮,并将其部署到Windows 10设备。
使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

指定PowerShell脚本的名称,还可以添加描述。点击下一个

使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

Intune中的PowerShell脚本设置

在“脚本设置”窗口中,指定脚本位置。单击文件夹图标并指定打算使用Intune部署到设备的PowerShell。

这里还有一些有用的附加设置。如果需要,您可以配置它们。

  • 使用登录凭证运行此脚本—启用此设置时,脚本将与客户端计算机上的用户凭据一起运行。默认情况下,脚本在系统上下文中运行。默认值为没有我不打算改变这个值。
  • 执行脚本签名检查-启用脚本时,需要由可信的发布者签名。默认情况下,不显示警告或提示,并且脚本不受阻塞地运行。默认值为没有我不打算改变这个值。
  • 在64位PowerShell主机上运行脚本—当启用脚本时,脚本将在64位客户端架构的64位PowerShell主机中运行。默认情况下,脚本将在32位的PowerShell主机中运行。默认值为没有我已经启用了这个设置。
使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

接下来我们进行配置作业.这决定了向谁部署PowerShell脚本。单击Add Group并选择您的测试组。我通常建议部署PowerShell脚本来测试Intune中的组,并确认其工作正常。如果它有效,您可以将其部署到其他组。

使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

在Review+Add部分中,查看部署设置并单击添加

使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

看看通知。PowerShell脚本被成功创建并分配给测试组。

使用Intune部署PowerShell脚本
使用Intune部署PowerShell脚本

在测试机器上,您可以启动Company Portal并手动同步您的设备。等到同步完成,你就看到了上次同步成功

手动同步设备
手动同步设备

检查IntuneManagementExtension日志文件

Win32app和PowerShell脚本部署是使用Intune管理扩展安装的,并且有日志文件可以对应用程序部署进行故障排除。Intune管理扩展的日志文件位于微软C: \ ProgramData \ \ IntuneManagementExtension \日志.检查IntuneManagementExtension.log

注意,新的注册表项作为日志文件在测试计算机上创建。

IntuneManagementExtension日志文件
IntuneManagementExtension日志文件

在测试计算机上创建注册表项。这只是一个使用Intune部署PowerShell脚本的示例。我希望这篇文章能帮助您使用Intune部署PowerShell脚本。

新注册
创建新的注册表项

6个评论

  1. 使用这些设置和脚本中添加的-force将工作:
    使用已登录凭据运行此脚本-是
    强制脚本签名检查-否
    运行脚本在64位PowerShell主机-否

    包含的组-所有用户

  2. 《阿凡达》的照片 Sundaramoorthi玻色 说:

    如何从Intune门户下载或拉安装程序脚本

  3. 《阿凡达》的照片 若昂维埃拉 说:

    这种改变有什么合理的理由吗?

    之前:
    Intune管理扩展代理每小时检查一次Intune,并在每次重新启动后检查是否有任何新的脚本或
    变化。”

    现在:
    Intune管理扩展代理在每次重新启动后检查是否有任何新的脚本或更改。

  4. 《阿凡达》的照片 杰森绿色 说:

    嗨,Prajwal,我已经按照你的指示,但PS文件不会从Intune部署,即使它说它是成功的,我已经在我的设备上进行了本地测试,它工作正常,但不会从Intune推出。你知道这是为什么吗?谢谢你杰森

    1. 《阿凡达》的照片 凯文·弗林 说:

      有同样的问题。手动运行脚本可以100%正常工作,但是即使测试机器的状态显示为成功,将其通过部署也没有任何作用。

      1. 《阿凡达》的照片 杰森L 说:

        在配置注册表时,尝试在powershell的每一行末尾添加-force。

留下回复

你的电邮地址将不会公布。必填字段已标记