如何在 Intune 中从企业应用程序目录部署应用程序


在这篇文章中,我将向您展示如何使用 Web 门户和 Microsoft Graph PowerShell 从 Microsoft Intune 中的企业应用程序目录部署应用程序。

什么是企业应用程序目录?

企业应用程序目录是一种 Microsoft 解决方案,可通过 Intune 平台中的预打包应用程序目录来简化管理第一方和第三方应用程序的生命周期。

该解决方案的目标是帮助减少管理员在终端设备上打包、部署和维护应用程序(从大型软件包到较小的实用程序式应用程序)所花费的时间和精力。

Intune 管理员只需单击几下即可部署应用程序,并清楚地了解任何需要更新的应用程序。

从企业应用程序目录部署应用程序

1.登录https://intune.microsoft.com/

2. 选择应用 > Windows > 添加

3. 从应用程序类型下拉框中,选择企业应用程序目录应用程序

4. 点击搜索企业应用程序目录,从列表中选择一个应用程序,然后点击下一步。我选择了WinSCP

5. 配置选项卡将显示可用的应用程序类型,包括语言、架构和版本。虽然有些应用程序可能有多个选项,但许多应用程序只会向您显示最新版本,具体取决于供应商。单击选择

6. 将应用信息页面上的设置保留为默认设置,除非您希望从公司门户应用中使用该设置,然后单击下一步

7. 在计划页面上,信息已预先填写。您可以将此保留为默认值,除非您想删除用户卸载应用程序的选项。

8. 需求页面也是如此,该页面已经由供应商完成;只需点击下一步

9. 检测设置页面也已预先填写。至于 WinSCP 应用程序,它只会查找 .exe 文件的当前版本。

10. 在最后一页上,单击添加应用

11. 在向导过程中您将注意到没有分配选项。您必须返回到您的应用程序并将其分配给您的目标用户或设备。

使用 PowerShell 从企业应用程序目录部署应用程序

您还可以使用 Microsoft Graph PowerShell 部署企业应用程序目录应用程序。尽管没有为此设置 cmdlet,但我们可以使用 Invoke-MgGraphRequest 来补充此问题。

下面我创建了一个小函数,它使用 /beta/deviceAppManagement/mobileAppCatalogPackage 端点来查找每个目录应用程序,然后使用 /beta/deviceAppManagement/mobileApps/convertMobileAppCatalogPackageToMobileApp 端点自动查找准备信息以在 Intune 中提交和创建应用程序。

使用下面的代码将企业应用程序目录中的一个或多个应用程序部署到 Intune。

Connect-MgGraph -Scope DeviceManagementApps.ReadWrite.All

Function DeployCatalogApps {

    Param(
        $Apps
    )

    Foreach ($CatalogApp in $Apps) {

        #Get the latest version of the catalog app
        $GetUri = "https://graph.microsoft.com/beta/deviceAppManagement/mobileAppCatalogPackages?`$filter=productName eq '$CatalogApp'"
        $RetrievedApp = Invoke-MgGraphRequest -Method GET -Uri $GetUri -OutputType PSObject | Select -ExpandProperty Value
        $SelectedApp = $RetrievedApp[0]
    
        Write-Host "Attempting to deploy catalog app: $($SelectedApp.productName) v:$($SelectedApp.versionName)"
        write-host "Converting to mobile app"

        #Convert the app to catalog package
        $ConUri = "https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/convertMobileAppCatalogPackageToMobileApp(versionId='$($SelectedApp.id)')"
        $MobApp = (Invoke-MgGraphRequest -uri $ConUri -Method GET -OutputType PSObject) | Select-Object * -ExcludeProperty "@odata.context", id, largeIcon, createdDateTime, lastModifiedDateTime, owner, notes, size, minimumSupportedOperatingSystem, minimumFreeDiskSpaceInMB, minimumMemoryInMB, minimumNumberOfProcessors, minimumCpuSpeedInMHz 
        $AppPayload = $MobApp | ConvertTo-Json

        Write-Host "Deploying catalog app: $($SelectedApp.productName) v:$($SelectedApp.versionName)"

        #Deploy the catalog app
        $DeployUri = "https://graph.microsoft.com/beta/deviceAppManagement/mobileApps"
        Invoke-MgGraphRequest -Method POST -Uri $DeployUri -Body $AppPayload -ContentType "application/json"
        
    }
}

DeployCatalogApps -Apps "WinSCP", "7-Zip"

应用程序更新

从企业应用程序目录部署的每个应用程序都是自我更新的。这意味着每当供应商发布该应用程序的更新时,它都会发布到企业应用程序目录,并且可以从 Intune 门户快速更新。请按照以下步骤从 Intune 门户更新应用程序。

1.登录https://intune.microsoft.com/

2. 选择应用,然后在其他下选择Windows (Win32) 目录应用更新

3. 在此页面中,您将看到所有可用应用程序更新的列表。选择您要更新的应用旁边的三点菜单选项,然后单击更新应用

4. 这将启动与您之前看到的相同的向导,但这次,还将选择应用程序的最新版本,并且将预先填写取代选项。

5. 单击向导,将选项保留为默认值并创建您的应用程序。您需要像以前一样将应用程序分配给您的用户或设备。确保您选择与之前的应用程序相同的分配。

企业应用程序目录与第三方解决方案

看看微软在企业应用程序管理方面的最新创新如何与经过尝试、测试和值得信赖的第三方解决方案(例如 Patch My PC)进行比较,将会很有趣。到目前为止,我对 Microsoft 解决方案的体验是积极的;应用程序的部署似乎快速而自信。

至于价格,微软的 Enterprise App Catalog 附加组件为每台设备/用户每月 2 美元。然而,他们的主要竞争对手 Patch My PC 每台设备每年的价格仅为 2 美元。 点击此处查看他们的定价页面。

包起来

从根本上来说,微软的解决方案还处于早期阶段。由于缺乏案例研究和实际部署场景,很难做出判断。如果您想避免额外的供应商关系和合同的麻烦,我建议尝试 Microsoft 的企业应用程序管理。它使应用程序部署变得轻而易举,将所有内容都集中在一个屋檐下。但是,假设您需要一个易于管理且有效的解决方案,无论您是拥有 10 个用户的小型公司还是拥有 10,000 个用户的企业。在这种情况下,我建议坚持使用本博客中提到的第三方解决方案。