WinGet

WinGet 是一款 Windows 平台的包管理工具,自从 Win11 正式版就已经内置。不熟悉的读者可以将其等同于 Ubuntu 的 apt,MacOS 的 Homebrew,下面介绍一些常用命令。

search

搜索包,将结果以列表显示,用户可以通过 ID 值安装

  1. # winget search powershell
  2. 名称 ID 版本 匹配
  3. ----------------------------------------------------------------------------------------------------------------
  4. PowerShell 9MZ1SNWT0N5D Unknown msstore
  5. PowerShell Preview 9P95ZZKTNRN4 Unknown msstore
  6. PowerShell Conference Asia 2015 9WZDNCRD37D8 Unknown msstore
  7. PowerShell Microsoft.PowerShell 7.2.4.0 winget
  8. Windows Terminal Preview Microsoft.WindowsTerminal.Preview 1.14.1432.0 Tag: PowerShell winget
  9. Windows Terminal Microsoft.WindowsTerminal 1.13.11431.0 Tag: powershell winget
  10. PowerShell Preview Microsoft.PowerShell.Preview 7.3.0.4 Tag: powershell winget
  11. ConEmu Maximus5.ConEmu 11.220.4180 Tag: powershell winget
  12. EasyConnect lstratman.easyconnect 3.1.0.105 Tag: powershell winget
  13. Oh My Posh JanDeDobbeleer.OhMyPosh 8.0.1 Tag: powershell winget
  14. TfsCmdlets Igoravl.TfsCmdlets 2.4.0.2768 Tag: powershell winget
  15. electerm electerm.electerm 1.21.74 Tag: powershell winget
  16. wol DarkfullDante.wol 1.0.2 Tag: powershell winget
  17. AutomatedLab AutomatedLab.AutomatedLab 5.42.0 Tag: powershell winget
  18. PowerShell Universal IronmanSoftware.PowerShellUniversal 2.10.2 winget
  19. PowerShell Universal Desktop IronmanSoftware.PowerShellUniversal.Desktop 2.10.2 winget

install

使用 install 安装时,若对应 WinGet 库中仅有一款应用,则默认直接安装;若存在多个,会显示相似名称包列表,用户通过 ID 值再安装

  1. # winget install powershell
  2. 找到多个与输入条件匹配的程序包。请修改输入。
  3. 名称 ID
  4. ---------------------------------------
  5. PowerShell 9MZ1SNWT0N5D msstore
  6. PowerShell Microsoft.PowerShell winget
  7. # winget install Microsoft.PowerShell
  8. 已找到 PowerShell [Microsoft.PowerShell] 版本 7.2.4.0
  9. 此应用程序由其所有者授权给你。
  10. Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
  11. Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.4/PowerShell-7.2.4-win-x64.msi
  12. ██████████████████████████████ 101 MB / 101 MB
  13. 已成功验证安装程序哈希
  14. 正在启动程序包安装...
  15. 已成功安装

upgrade

不带任何参数,会列出待升级的软件;携带参数 *,更新所有待升级的软件;携带特定 ID 值,更新指定软件

  1. # winget upgrade
  2. 名称 ID 版本 可用
  3. -----------------------------------------------------------------------------------------------------------------------------
  4. 阿里云盘 Alibaba.aDrive 2.4.0 3.4.1 winget
  5. 7-Zip 19.00 (x64) 7zip.7zip 19.00 21.07 winget
  6. DBeaver 22.0.1 (current user) dbeaver.dbeaver 22.0.1 22.1.0 winget
  7. FileZilla Client 3.58.0 TimKosse.FileZilla.Client 3.58.0 3.60.1 winget
  8. Git Git.Git 2.33.0.2 2.36.1 winget
  9. Microsoft Edge WebView2 Runtime Microsoft.EdgeWebView2Runtime 101.0.1210.53 102.0.1245.33 winget
  10. Windows 终端 Microsoft.WindowsTerminal 1.12.10983.0 1.13.11431.0 winget
  11. Oh My Posh version 7.93.1 JanDeDobbeleer.OhMyPosh 7.93.1 8.0.1 winget
  12. Postman x86_64 9.16.0 Postman.Postman 9.16.0 9.19.0 winget
  13. TIM Tencent.TIM 3.3.8.22043 3.3.9.22051 winget
  14. TeamViewer TeamViewer.TeamViewer 15.22.3 15.30.3 winget

快捷键

Ctrl+Shift 打开任意程序图标,都能以管理员方式运行。

Windows Defender 设置白名单 (win10 2004)

IDEA

在使用IDEA进行开发的时候,IDEA会提示你设置Windows Defender白名单,每次新建项目都会这么做一次,太过繁琐。

步骤如下:

  1. “Windows 安全中心”—> “病毒和安全防护”—> ““病毒和威胁防护”设置”—> “管理设置”
  2. “排除项”—> “添加或删除排除项”
  3. 添加IDEA“项目总文件夹位置”

image.png

WSL

Windows 10 上的 WSL 的性能为何如此差? - 知乎 https://www.zhihu.com/question/292463455
上述链接🔗提到了Windows Defender导致WSL性能很差,将WSL目录添加至Windows Defender白名单即可。

关闭占用某一端口号的进程

  • 查询占用端口的进程

    1. netstat -ano | findstr 端口号
  • 关闭占用端口进程

    1. taskkill -PID 进程号 -F

    联网翻译

    快捷键:ctrl+shift+D
    所见即翻译
    image.png

    蓝牙耳机进入游戏没有声音

    到“设备管理器”——“蓝牙设备”,禁用蓝牙耳机的hands free。

    WSL2 端口开放

    为了能够让外部网络访问,需要开放WSL2端口。

    1. netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=192.168.50.16 protocol=tcp

    connectaddress 是WSL2的ip地址,此ip是WSL2固定IP地址中配置的,也可以将此配置开机自启运行。

  • 允许外网访问

防火墙入站规则配置指定端口 8080 ,其余默认。

WSL2网络服务无法通过localhost访问

起初通过最简单的查看端口占用方式,

  1. netstat -ano | findstr

找到指定占用端口的进程,关闭掉,无法通过命令行关掉可以使用「任务管理器」的详细信息,重启WSL2网络服务。

但是每次重启都需要这么做,因此便查看占用端口服务,发现是image.png,因为之前配置过「WSL2端口开放」,那条命令重启并不会失效,以管理员权限运行,删除端口开放。

  1. netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0 protocol=tcp

清除DNS缓存

  1. ipconfig /flushdns

参考