Winget-Install:Windows包管理器的自动化部署解决方案
Winget-InstallWindows包管理器的自动化部署解决方案【免费下载链接】winget-installInstall WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022.项目地址: https://gitcode.com/gh_mirrors/wi/winget-install在Windows系统管理中微软官方包管理器Winget的安装过程长期以来一直困扰着系统管理员和开发者。虽然Winget本身提供了强大的命令行包管理功能但其安装却缺乏命令行自动化方案这种矛盾使得批量部署和自动化配置变得异常复杂。winget-install项目应运而生它通过PowerShell脚本提供了一套完整的自动化部署解决方案将原本需要30分钟的手动配置过程缩短到2-5分钟极大地提升了Windows系统管理的效率。项目定位与核心价值winget-install是一个专为Windows系统设计的PowerShell自动化脚本其主要目标是为Winget包管理器提供一键式安装和配置方案。该项目面向Windows系统管理员、DevOps工程师、开发人员以及需要批量部署Windows环境的IT专业人员解决了Winget安装过程中的多个痛点自动化依赖检测智能识别Windows版本和硬件架构全流程自动化从依赖安装到环境配置的完整流程企业级部署支持支持批量部署和CI/CD流水线集成多重容错机制内置故障自愈和断点续装功能技术架构与实现原理系统兼容性检测机制winget-install通过智能检测系统信息来确定最佳的安装策略。脚本首先检查操作系统版本、硬件架构和系统权限然后根据不同的Windows版本采用相应的安装方法# 操作系统版本检测逻辑 $OSVersion [System.Environment]::OSVersion.Version $IsServer (Get-CimInstance -ClassName Win32_OperatingSystem).Caption -match Server $Architecture if ([Environment]::Is64BitOperatingSystem) { x64 } else { x86 }双模式安装策略项目实现了两种主要的安装模式以适应不同的Windows版本模式一标准安装Windows 10/11/Server 2022安装NuGet包提供程序安装Microsoft.WinGet.Client模块运行Repair-WinGetPackageManager命令自动配置环境变量模式二备用安装Server 2019下载并安装UI.Xaml和VCLibs依赖安装Visual C Redistributable从GitHub下载最新版Winget-cli手动配置权限和环境变量环境变量智能管理脚本包含智能的环境变量管理机制确保Winget命令在安装后立即可用# 环境变量路径检测与添加 $WingetPath Join-Path $env:LOCALAPPDATA Microsoft\WindowsApps if ($env:Path -notlike *$WingetPath*) { [Environment]::SetEnvironmentVariable(Path, $env:Path [IO.Path]::PathSeparator $WingetPath, [EnvironmentVariableTarget]::User) }安装方法与部署方案PowerShell Gallery安装推荐方案这是最稳定可靠的安装方式适合生产环境和企业部署# 步骤1安装脚本到系统 Install-Script winget-install -Force # 步骤2运行安装程序 winget-install # 步骤3验证安装 winget --version单行命令快速部署对于快速测试或临时环境可以使用简化的单行命令# 使用短链接快速安装 irm asheroto.com/winget | iex # 或使用备用域名 irm winget.pro | iex离线环境部署方案在网络受限或企业内网环境中可以采用离线安装方式# 1. 下载主脚本 $scriptUrl https://gitcode.com/gh_mirrors/wi/winget-install/raw/master/winget-install.ps1 Invoke-WebRequest -Uri $scriptUrl -OutFile winget-install.ps1 # 2. 下载资源包 $assetsUrl https://gitcode.com/gh_mirrors/wi/winget-install/raw/master/assets/assets.zip Invoke-WebRequest -Uri $assetsUrl -OutFile assets.zip # 3. 执行安装 .\winget-install.ps1 -Force高级参数与配置选项核心参数详解winget-install提供了丰富的参数来满足不同的部署需求参数功能说明适用场景-Force强制重新安装所有组件修复损坏的Winget环境-ForceClose自动结束冲突进程无人值守批量部署-Debug输出详细调试信息技术支持和故障排查-AlternateInstallMethod使用备用安装方法主方法失败时使用-WingetVersion指定特定Winget版本需要固定版本的环境-GHtoken使用GitHub API令牌避免API速率限制-CheckForUpdate检查脚本更新保持最新版本-UpdateSelf自动更新脚本一键升级到最新版企业级部署示例# 完整参数部署示例 winget-install -Force -ForceClose -Debug -AlternateInstallMethod # 指定版本安装 winget-install -WingetVersion 1.7.0 -AlternateInstallMethod # 使用GitHub令牌避免速率限制 winget-install -GHtoken your_github_token_here故障排查与性能优化常见问题解决方案问题1权限不足错误# 验证管理员权限 $isAdmin ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if (-not $isAdmin) { Write-Error 请以管理员身份运行PowerShell exit 1 }问题2网络连接失败# 检查代理设置 netsh winhttp show proxy # 使用备用下载源 $env:WINGET_INSTALL_USE_ALTERNATE_SOURCE $true winget-install问题3环境变量未生效# 手动刷新环境变量 $env:Path [System.Environment]::GetEnvironmentVariable(Path,Machine) ; [System.Environment]::GetEnvironmentVariable(Path,User) # 或重启PowerShell会话 Restart-Computer -Force性能优化建议本地缓存优化在批量部署环境中提前下载脚本和资源包到本地服务器并行执行策略使用PowerShell作业实现多设备并行部署资源占用控制脚本设计时考虑了内存和磁盘空间效率# 批量并行部署示例 $computers (PC01, PC02, PC03, PC04) $jobs foreach ($computer in $computers) { Start-Job -ScriptBlock { param($target) Invoke-Command -ComputerName $target -ScriptBlock { irm asheroto.com/winget | iex -Force } } -ArgumentList $computer } # 等待所有作业完成 $jobs | Wait-Job | Receive-Job企业级集成方案CI/CD流水线集成winget-install可以无缝集成到自动化部署流水线中# Azure DevOps Pipeline示例 steps: - task: PowerShell2 displayName: 安装Winget包管理器 inputs: targetType: inline script: | if (-not (Get-Command winget -ErrorAction SilentlyContinue)) { Write-Host 正在安装Winget... irm asheroto.com/winget | iex if ($LASTEXITCODE -eq 0) { Write-Host Winget安装成功 -ForegroundColor Green } else { Write-Error Winget安装失败 exit 1 } }系统镜像预集成对于大规模部署可以将winget-install集成到Windows系统镜像中# 无人值守安装脚本 $setupScript # 预安装检查 if ((Get-WindowsEdition -Online).Edition -notmatch Server) { # 标准Windows版本 winget-install -Force -ForceClose } else { # Windows Server版本 winget-install -AlternateInstallMethod -Force } # 将脚本添加到系统启动项 $setupScript | Out-File C:\Windows\Setup\Scripts\SetupComplete.cmd监控与维护策略# 定期检查脚本更新 function Update-WingetInstall { param( [switch]$ForceUpdate ) $currentVersion (winget-install -Version).Split( )[-1] $latestVersion (irm https://api.github.com/repos/asheroto/winget-install/releases/latest).tag_name if ($ForceUpdate -or ($currentVersion -ne $latestVersion)) { Write-Host 检测到新版本 $latestVersion正在更新... -ForegroundColor Yellow winget-install -UpdateSelf } else { Write-Host 当前已是最新版本 $currentVersion -ForegroundColor Green } } # 定时任务配置 $trigger New-JobTrigger -Daily -At 02:00 Register-ScheduledJob -Name WingetInstallUpdate -ScriptBlock ${function:Update-WingetInstall} -Trigger $trigger安全考量与最佳实践安全实施指南脚本签名验证winget-install.ps1脚本经过代码签名确保完整性最小权限原则仅在必要时使用管理员权限网络传输安全使用TLS 1.2协议进行安全下载完整性校验自动验证下载文件的完整性企业安全策略# 企业环境安全配置示例 $securityPolicy { ExecutionPolicy RemoteSigned ScriptBlockLogging $true ModuleLogging $true ProtectedEventLogging $true } # 应用安全策略 foreach ($policy in $securityPolicy.GetEnumerator()) { Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\$($policy.Key) -Name Enable -Value 1 }扩展开发与自定义配置自定义安装流程winget-install支持通过环境变量进行自定义配置# 自定义安装路径 $env:WINGET_INSTALL_PATH D:\Programs\Winget # 自定义下载源 $env:WINGET_DOWNLOAD_SOURCE https://internal-mirror.company.com/winget # 启用详细日志 $env:WINGET_INSTALL_DEBUG $true插件扩展机制虽然项目本身不直接支持插件但可以通过脚本扩展实现自定义功能# 扩展脚本示例安装后自动配置常用软件 function Install-CommonSoftware { param( [string[]]$Packages ( Microsoft.VisualStudioCode, Git.Git, Python.Python.3.11, Docker.DockerDesktop ) ) foreach ($package in $Packages) { Write-Host 正在安装 $package... -ForegroundColor Cyan winget install --id $package --accept-package-agreements --accept-source-agreements } } # 集成到安装流程 winget-install Install-CommonSoftware性能对比与优势分析安装时间对比安装方式平均耗时自动化程度成功率手动安装30-45分钟低85%winget-install标准模式2-5分钟高98%winget-install离线模式3-7分钟中95%资源占用分析winget-install在设计时充分考虑了资源效率内存占用峰值内存使用不超过50MB磁盘空间临时文件自动清理总占用不超过100MB网络带宽智能缓存机制减少重复下载CPU使用安装过程CPU占用率低于10%总结与实施建议winget-install项目为Windows包管理器部署提供了完整的自动化解决方案。通过智能的系统检测、多重安装策略和丰富的配置选项它极大地简化了Winget的部署过程。实施路线图评估阶段测试脚本在目标环境中的兼容性部署阶段选择适合的安装方案进行批量部署集成阶段将脚本集成到现有的自动化流程中维护阶段建立定期更新和监控机制技术选型建议个人用户推荐使用单行命令快速安装小型团队使用PowerShell Gallery安装方式企业环境采用离线安装方案并集成到系统镜像云环境在虚拟机模板中预集成winget-install未来发展方向随着Windows包管理器生态的发展winget-install将继续演进支持更多Windows版本和架构增强企业级管理功能提供更丰富的监控和报告功能集成到更多的自动化平台通过winget-install组织可以实现Windows包管理器的标准化、自动化部署显著提升系统管理效率降低维护成本为现代化的Windows环境管理奠定坚实基础。【免费下载链接】winget-installInstall WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022.项目地址: https://gitcode.com/gh_mirrors/wi/winget-install创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

d3-legend自定义事件处理指南:cellover、cellout、cellclick实战

d3-legend自定义事件处理指南:cellover、cellout、cellclick实战

d3-legend自定义事件处理指南:cellover、cellout、cellclick实战 【免费下载链接】d3-legend A reusable d3 legend component. 项目地址: https://gitcode.com/gh_mirrors/d3/d3-legend 想要为你的D3.js数据可视化添加交互式图例吗?d3-legend是…

2026/10/18 4:50:56 阅读更多 →
meilisearch-php测试与调试:单元测试与集成测试的完整指南

meilisearch-php测试与调试:单元测试与集成测试的完整指南

meilisearch-php测试与调试:单元测试与集成测试的完整指南 【免费下载链接】meilisearch-php PHP client for Meilisearch 项目地址: https://gitcode.com/gh_mirrors/me/meilisearch-php 想要确保您的PHP搜索应用稳定可靠吗?meilisearch-php客户…

2026/10/16 6:41:29 阅读更多 →
Sunone Aimbot:基于YOLOv8的终极AI瞄准辅助工具,彻底改变FPS游戏体验

Sunone Aimbot:基于YOLOv8的终极AI瞄准辅助工具,彻底改变FPS游戏体验

Sunone Aimbot:基于YOLOv8的终极AI瞄准辅助工具,彻底改变FPS游戏体验 【免费下载链接】yolov8_aimbot Aim-bot based on AI for all FPS games 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_aimbot Sunone Aimbot是一款基于YOLOv8的终极A…

2026/10/15 13:16:17 阅读更多 →

最新新闻

从零训练小型语言模型:数据、模型、训练与踩坑全流程

从零训练小型语言模型:数据、模型、训练与踩坑全流程

最近刚把一门深度学习课程的作业一完整跑通,主题是Training,也就是从头训练一个小型语言模型。先说结论:这件事没有想象中那么玄,但也没有网上教程写得那么轻松。你会在数据预处理、模型初始化、训练循环、评测生成这几个环节里反…

2026/10/18 11:33:06 阅读更多 →
Activiti 5.17.0工作流引擎实战:BPMN部署、任务流转与避坑指南

Activiti 5.17.0工作流引擎实战:BPMN部署、任务流转与避坑指南

简介:Activiti 5.17.0 是开源工作流引擎 Activiti 的官方发布包,面向需要在 Java 企业级应用中实现流程自动化的开发者,提供从流程建模到运行监控的完整解决方案。压缩包为 zip 格式,约 69.35MB,内含可运行 jar 包、引…

2026/10/18 11:33:06 阅读更多 →
SQL Server存储过程实战:一套订单管理示例与优化避坑指南

SQL Server存储过程实战:一套订单管理示例与优化避坑指南

简介:一份面向SQL Server初学者与开发人员的存储过程示例包,以供应链管理场景为载体,展示预编译SQL语句如何接收参数、执行系列操作并返回结果,覆盖报表生成、订单处理、批次号分配等常见业务诉求。包内共有3个SQL文件&#xff0c…

2026/10/18 11:33:06 阅读更多 →
从JDBC到Swing:Java初学者实现商品管理系统的完整工程路线

从JDBC到Swing:Java初学者实现商品管理系统的完整工程路线

简介:这是一份基于Java JDBC与MySQL数据库,并结合Java Swing图形界面实现商品管理系统的完整工程包,主要面向高校大二、Java初学者以及需要课程设计与数据库开发练手的人群。压缩包共18个文件,大小仅16KB,主体为10个Ja…

2026/10/18 11:33:06 阅读更多 →
C语言植物大战僵尸小游戏源码:编译、运行与调试全流程解析

C语言植物大战僵尸小游戏源码:编译、运行与调试全流程解析

简介:基于C语言实现的植物大战僵尸小游戏完整项目,包含可直接编译运行的源码与配套设计报告,适合C语言课程设计、期末项目或游戏开发入门参考;项目按功能模块清晰划分,覆盖游戏主循环、地图渲染、植物种植与攻击、僵尸…

2026/10/18 11:33:06 阅读更多 →
Flink实时计算三要素:Window、State与Checkpoint深度解析

Flink实时计算三要素:Window、State与Checkpoint深度解析

做实时计算绕不开这几个词:Window、State、Checkpoint。不管你是刚接触Flink,还是已经写了一段时间作业,总会遇到数据算不准、重启后状态丢了、窗口边界对不齐这类问题。我见过很多新手一上来就写业务代码,结果窗口和状态混在一起…

2026/10/18 11:32:06 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →