使用说明
Microsoft公司门户-Intune部署解决方案
用于通过Microsoft Intune配置Microsoft公司门户应用程序的离线部署包。专为Microsoft Store不可用或ESP(注册状态页面)跳过帐户设置,导致最终用户无法注册公司门户的情况而设计。
问题
通过Intune中的Microsoft Store(新)应用程序类型部署公司门户的安装行为不可靠——在Autopilot注册期间,该应用程序在首次用户登录时经常不可用,尤其是在ESP跳过帐户设置阶段时。有关此问题的更多背景信息,请参阅 改善入职体验:自动启动公司门户.
现有的解决方法,如将公司门户部署为离线LOB应用程序,解决了可用性问题,但应用程序版本是静态的,除非Microsoft发布新的离线源文件,否则无法更新。
此解决方案将公司门户部署为Win32应用程序,并通过标准命令行安装程序类型调用PowerShell脚本。
运作原理
该解决方案使用通过单独的Intune策略部署的两部分方法:
- Win32应用程序--系统级配置 —
Install.ps1提供公司门户.appxbundle它具有依赖关系和许可证,因此设备上的所有用户都可以使用它。它还将捆绑包和依赖文件分阶段存储到C:\ProgramData\CompanyPortal用于用户上下文注册。 - 平台脚本——按用户注册 —
CreateScheduledTask.ps1被部署为Intune平台脚本。它编写一个注册脚本和VBS启动器C:\ProgramData\Scripts并创建了一个RegisterCompanyPortal在用户登录时触发的计划任务。该任务从暂存捆绑包中为任何尚未拥有公司门户的用户安装公司门户。
仓库结构
Win32/
Install.ps1 # Main install script (Win32 app)
Uninstall.ps1 # Uninstall script (removes app, task, and staged files)
*.appx # Dependency packages (x64)
*.appxbundle # Company Portal offline bundle
*_License1.xml # Offline license file
Win32-App.md # Step-by-step packaging and Intune configuration guide
Detection Script/
Detect.ps1 # Custom detection script for Intune
IntuneWin/
Install.intunewin # Pre-packaged .intunewin for upload
PlatformScript/
CreateScheduledTask.ps1 # Platform Script — creates scheduled task + registration scripts
Platform-Script-Scheduled-Task.md # Step-by-step Platform Script deployment guide
Company-Portal-Dependancies/
*.appx # Full set of dependencies (arm, arm64, x64, x86)
*.appxbundle # Company Portal offline bundle
*_License1.xml # Offline license file
Company-Portal-Dependencies.md # Download and extraction guide
Logo/
CompanyPortal-Logo.png # App icon for Intune
Intune部署
1.Win32应用程序
上传 Install.intunewin 从 IntuneWin/ 将Intune文件夹作为Win32应用程序。
要在更改后重新打包,请使用 Microsoft Win32内容准备工具:
IntuneWinAppUtil.exe -c Win32 -s Install.ps1 -o IntuneWin
应用程序配置
| 设置 | 值 |
|---|---|
| 安装命令 | powershell.exe -ExecutionPolicy Bypass -File .\Install.ps1 |
| 卸载命令 | powershell.exe -ExecutionPolicy Bypass -File .\Uninstall.ps1 |
| 安装行为 | 系统 |
| 检测规则 | 自定义检测脚本--上传 Detection Script\Detect.ps1 |
2.平台脚本
部署 PlatformScript\CreateScheduledTask.ps1 作为Intune 平台脚本 (设备>脚本和补救措施>平台脚本)。
| 设置 | 值 |
|---|---|
| 使用登录凭据运行此脚本 | 否(作为系统运行) |
| 在64位PowerShell主机中运行脚本 | 是的 |
依赖项
下载离线公司门户包(.appxbundle、许可证XML和框架依赖关系)从Microsoft下载中心下载:
https://www.microsoft.com/en-us/download/details.aspx?id=108156
x64包含以下框架依赖项,并且必须与位于同一目录中 Install.ps1:
- 微软。VCLibs 140.00
- 微软。网。原住民。框架2.2
- 微软。网。原住民。运行时间.2.2
- 微软。UI。Xaml.2.7
- 微软。服务。商店。参与
安装脚本在运行时自动选择正确的体系结构(x64/x86)。
计划任务详细信息
这 RegisterCompanyPortal 计划任务由平台脚本创建,具有以下行为:
- 触发: 在用户登录时运行
- 负责人: BUILTIN\用户组(SID
S-1-5-32-545),最低特权 - 行动: 跑动
C:\ProgramData\Scripts\RegisterCompanyPortal.vbs--一个以静默方式调用PowerShell的VBS启动器(没有控制台窗口弹出) - 行为: 检查当前用户是否安装了公司门户;如果没有,则从中的暂存捆绑包和依赖项安装它
C:\ProgramData\CompanyPortal
卸载
Uninstall.ps1 执行全面清理:
- 删除已配置的软件包(阻止新用户安装)
- 删除所有现有用户配置文件的已安装包
- 删除
RegisterCompanyPortal预定任务 - 从中删除注册脚本
C:\ProgramData\Scripts - 从中删除暂存的捆绑包和依赖项
C:\ProgramData\CompanyPortal