[玩转系统] 如何在 AutoPilot 期间安装和使用 WinGet
作者:精品下载站 日期:2024-12-14 06:39:06 浏览:16 分类:玩电脑
如何在 AutoPilot 期间安装和使用 WinGet
在这篇文章中,我将向您展示如何在 AutoPilot 过程中安装最新版本的 WinGet,并随后同时使用 WinGet 命令行工具部署应用程序。
这将使您能够在 AutoPilot 过程中以及登录后立即使用 WinGet 命令行工具来管理应用程序。
WinGet是什么?
WinGet 是 Windows 包管理器解决方案的命令行工具,使您能够在 Windows 10 和 11 计算机上查找、安装、升级或删除应用程序。
它是一种快速有效的工具,用于将应用程序远程部署到工作站上,尤其是使用 Microsoft Intune。
WinGet 是否预装在 Windows 中?
默认情况下,现代版本的 Windows 10(1709 或更高版本)和所有版本的 Windows 11 都预装了 Windows 包管理器 (WinGet)。
这就提出了一个问题,如果它可能已经部署了,为什么还要手动安装它呢?安装 Windows 包管理器后,命令行工具可能需要一段时间才能可用。仅当用户登录并触发 Microsoft Store 注册 Windows 包管理器时才会发生这种情况。因此,需要手动安装。
WinGet 版本和文件大小
我想提及 WinGet 的文件大小和可用的不同版本。这是因为从 WinGet 版本 1.6.1573-preview 开始,.NET 和 PowerShell 主机已包含在捆绑包中,导致包文件大小增加了 20 倍!
维护者在 GitHub 上该版本的讨论部分中强调了这一点。
对于没有内置这些占用大量资源的功能的最新版本,请确保安装版本 1.5.2201。 但是,如果您想在 AutoPolit 配置期间使用 WinGet 部署应用程序,请按照我的脚本安装最新版本。
第 1 步:创建安装脚本
您首先需要创建一个用于安装 WinGet 的脚本。
下面是一个简单的脚本,它将首先检查 WinGet 是否已经安装;然后,如果不是,它将从官方存储库下载推荐的 WinGet 版本和依赖项并安装它们。
该脚本也可以从 GitHub 访问。
<#
.SYNOPSIS
Installs WinGet, for use with Intune
.LINK
https://ourcloudnetwork.com
https://www.linkedin.com/in/danielbradley2/
https://twitter.com/DanielatOCN
.NOTES
Version: 0.1
Author: Daniel Bradley
Creation Date: Friday, January 5th 2024, 5:18:37 pm
File: Install-winget.ps1
.EXAMPLE
Deploy as Intune script
.LICENSE
Use this code free of charge at your own risk.
Never deploy code into production if you do not know what it does.
#>
#Create path and define log file
$path= "C:\ProgramData\WinGet"
$LogFile = "InstallLog.txt"
mkdir $path -ErrorAction SilentlyContinue
#Write to log
Function LogWrite
{
Param ([string]$logstring)
$date = (Get-Date).tostring("yyyyMMdd-HH:mm")
Add-content "$path$Logfile" -value "$date - $logstring"
}
#Check if WinGet is Installed
$TestPath = "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.21.3482.0_x64__8wekyb3d8bbwe\AppxSignature.p7x"
$Winget = Test-path $TestPath -PathType Leaf
#Install WinGet
if (!$Winget){
LogWrite "WinGet not installed, attempting install with Add-AppxPackage"
Try {
LogWrite "Downloading WinGet and its dependencies..."
Start-Transcript -Path "$path$Logfile" -Append
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile "$path\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -Verbose
Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile "$path\Microsoft.VCLibs.x64.14.00.Desktop.appx" -Verbose
Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.7.3/Microsoft.UI.Xaml.2.7.x64.appx -OutFile "$path\Microsoft.UI.Xaml.2.7.x64.appx" -Verbose
Add-AppxProvisionedPackage -online -packagepath $path\Microsoft.VCLibs.x64.14.00.Desktop.appx -SkipLicense -Verbose
Add-AppxProvisionedPackage -online -packagepath $path\Microsoft.UI.Xaml.2.7.x64.appx -SkipLicense -Verbose
Add-AppxProvisionedPackage -online -packagepath $path\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -SkipLicense -Verbose
Stop-Transcript
}
Catch {
Write-host "Unable to complete offline installer"
}
} Else {
LogWrite "WinGet already installed"
}
将此脚本保存为 Install-WinGet.ps1,然后您可以在 AutoPilot 中的 OOBE 期间测试该脚本,以确认它有效并且 WinGet 也有效!
在 OOBE 屏幕上,单击 SHIFT+F10 并键入以下内容:(PowerShell 脚本的文件路径可能有所不同)。
PowerShell
Set-ExecutionPolicy Unrestricted
.\Install-WinGet.ps1
安装完成后,使用以下命令测试安装 Google Chrome:
winget install -e --id Google.Chrome
步骤 2:将脚本上传到 Intune
接下来,您需要将脚本上传到 Intune。我选择通过脚本部署它,而不是打包到 Win32 应用程序中,但您可以选择任何一种方式进行部署。 (如果您要打包到 Win32 应用程序中,则可能需要向代码添加更多逻辑)。在我看来,WinGet 将在安装后进行部署和维护,因此我打算在安装后忘记它。
如果您想在 OOBE 期间同时部署应用程序,您可以将以下代码行附加到脚本中:(将 Google.Chrome 更改为您首选的应用程序)。
或者,您可以单独打包并将其部署为 Win32 应用程序(这将在 OOBE 期间脚本完成执行后运行)。 我无法让它工作,但如果可以的话请给我留言!
cd "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.21.3482.0_x64__8wekyb3d8bbwe\"
LogWrite "location set to $((Get-Location).Path)"
.\Winget install Google.Chrome --accept-package-agreements --accept-source-agreements | Tee-Object "$path$Logfile" -Append
按照以下步骤从 Intune 管理中心部署脚本。
1.登录https://intune.microsoft.com/
2. 选择设备,然后在策略下选择脚本。
3. 选择添加 > Windows 10 及更高版本。
4. 定义和名称,然后单击下一步。在脚本设置页面上,选择以下设置
5. 将您的脚本分配给所有设备(或您的首选项)并完成向导。
包起来
如果您做到了这一步,那就太好了!我想建议的是,在 OOBE 的这个阶段使用 WinGet 命令行工具安装应用程序是一个概念验证。当然,还有更好的方法来打包、部署和维护应用程序,但每个人都有自己的偏好。
首次登录后,我们立即可以看到 Google Chrome 已使用 WinGet 成功安装。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag