Windows 代理设备策略

使用 Windows 代理设备策略在托管 Windows 桌面和平板电脑上运行 PowerShell 脚本。您可以指向作为企业应用程序上载到 Endpoint Management 的脚本文件以及托管脚本的其他服务器。有关添加企业级应用程序的信息,请参阅添加应用程序

所有脚本都以特权状态执行,您无需以管理员身份运行脚本。

部署和运行脚本后,您可以根据脚本的结果配置自动操作。例如,您运行用于监视注册表项的脚本返回结果。根据返回的结果,会运行一个自动化操作,该操作授予或拒绝对应用的访问权限、将设备标记为不合规或具有其他效果。

您还可以使用此策略通过配置指向 .msi 文件和 .mst 文件的 PowerShell 脚本来部署自定义 MSI 安装程序。

要添加或配置此策略,请转至配置 > 设备策略。有关详细信息,请参阅设备策略

Windows Desktop 和 Tablet 设置

“设备策略”配置屏幕

“设备策略”配置屏幕

  • 配置名称: 键入配置的描述性名称。

  • 任务类型: 选择 PowerShell

  • 选择脚本位置: 为已 上载 到 Endpoint Management 的脚本选择“已上载脚本”,或为外部托管的 脚本选择“脚本位置 URL”。有关如何将脚本上载到 Endpoint Management 的更多信息,请参阅将 Win32 应用程序添加为企业应用程序

    • 选择脚本: 如果选择“已上载”脚本 ,请选择要运行的脚本。

    • 输入脚本位置 URL: 如果选择了脚本位置 URL,请输入要运行的脚本的位置。此 URL 必须将脚本作为有效负载提供。Endpoint Management 不支持将脚本作为 JavaScript 下载提供的 URL。脚本还必须公开可用。

  • 运行计划: 选择“运行一次”以运行所选脚本一次,或选择“频繁运 行”以按所选计划运行脚本。

    • 计划频率(小时): 键入脚本运行之间的小时数。

要检查脚本的状态,请导航到控制台中的“管理”>“设备”。选择要检查脚本状态的设备,然后单击“编辑”。在“属性”下,您可以通过单击“Windows 代理”标题下的“下载”来检查脚本的状态。

部署 PowerShell 脚本以触发自动操作

  1. 创建 PowerShell 脚本以监视注册表项。以下 PowerShell 脚本将检查防火墙是否已启用。

    $body = @{}
    $firewallEnabled = Get-ItemPropertyValue HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile -Name EnableFirewall
    if($firewallEnabled -eq 1){
    $body["firewallEnabled"]="true"
    } else {
    $body["firewallEnabled"]="false"
    }
    $body | ConvertTo-Json -Depth 10
    

    此脚本返回的值为

    {
        "firewallEnabled":  "true"
    }
    

    {
        "firewallEnabled":  "false"
    }
    
  2. 将脚本作为企业应用程序上载到 Endpoint Management 控制台,或以可访问的 URL 托管脚本。
  3. 按照本文所述配置 Windows 代理设备策略。确保脚本计划立即运行。

    示例 Windows 代理设备策略

  4. 脚本运行后,确定脚本状态。
    1. 导航到控制台中的“管理”>“设备”
    2. 选择设备以检查其脚本状态,然后单击编辑
    3. 单击 Windows 代理标题下的下载

    Windows Agent 下载状态

  5. 根据接收到的状态配置自动操作。有关配置自动化操作的详细信息,请参阅基于 Windows 代理设备策略结果创建自动化操作。该部分显示了为示例脚本和 Windows 代理设备策略创建的特定自动操作。