PowerShell 升级和 Windows Terminal 配置 PowerShell

偏向技术
/ 0 评论 / 415 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年08月19日,已超过1192天没有更新,若内容或图片失效,请留言反馈。

写作前面

如果你钟爱命令行工具,那么 Windows Terminal 和 Windows PowerShell 就是你不可或缺的工具。而且现在基本上都是 Windows 10 时代了嘛,所以 PowerShell 的安装更新方式也增加了几种,最简单的当然是在 Windows 10 应用商店中搜索 powershell,然后下载安装,目前最新版本为 7.1.4,这里我们介绍另外一种下载安装方式 —— Winget

首先我们要知道像 Mac、*nix 系统都是有自己的包管理器的,类似应用市场,遵循固定的格式和 Schema 就能让包管理器从互联网识别,由官方和社区维护,大家都可以通过一个命令来安装软件,这样听起来是不是很爽?再想想 Windows 安装软件的方式,想要安装,得跑去官网找下载地址,然后还有一系列安装流程,一不留神就安装了好几个软件,再一个是卸载软件,总是卸载不干净,这些年, Windows 上也踊跃出了不少的包管理器,比如 chocolatey、scoop,前者由官方和社区维护,后者由社区维护。

下载安装

第一步

查看 piwershell 当前版本,$psversiontable 或者 Get-Host | Select-Object Version5.1 就是我目前的版本,这也是 Windows 10 自带的版本

powershell
❯ $psversiontable

Name                           Value
----                           -----
PSVersion                      5.1.22000.65
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22000.65
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
123456789101112

第二步

打开 Windows Terminal 终端,输入 winget 并回车,我们就能看到下面 winget 的使用方式。

powershell
❯ winget
Windows Package Manager v1.0.11694
版权所有 (C) Microsoft Corporation。保留所有权利。

WinGet 命令行实用工具可从命令行安装应用程序和其他程序包。

使用情况: winget [<命令>] [<选项>]

下列命令有效:
  install       安装给定的程序包
  show          显示包的相关信息
  source        管理程序包的来源
  search        查找并显示程序包的基本信息
  list          显示已安装的程序包
  upgrade       升级给定的程序包
  uninstall     卸载给定的程序包
  hash          哈希安装程序的帮助程序
  validate      验证清单文件
  settings      打开设置
  features      显示实验性功能的状态
  experimental  实验性功能示例
  export        导出已安装程序包的列表
  import        安装文件中的所有程序包

如需特定命令的更多详细信息,请向其传递帮助参数。 [-?]

下列选项可用:
  -v,--version  显示工具的版本
  --info        显示工具的常规信息

可在此找到更多帮助: https://aka.ms/winget-command-help
12345678910111213141516171819202122232425262728293031

接着执行 winget search powershell,我们可以看到出现了有10条记录,要认准官方正版的是 ID 带有 Microsoft 前缀,这意味着带有 Microsoft 前缀的软件都属于微软开发的

powershell
❯ winget search powershell
名称                     ID                                  版本        匹配            源
-----------------------------------------------------------------------------------------------
PowerShell               Microsoft.PowerShell                7.1.4.0                     winget
Windows Terminal Preview Microsoft.WindowsTerminalPreview    1.10.1933.0 Tag: PowerShell winget
Windows Terminal         Microsoft.WindowsTerminal           1.9.1942.0  Tag: powershell winget
PowerShell Preview       Microsoft.PowerShell.Preview        7.2.0.8     Tag: powershell winget
ConEmu                   Maximus5.ConEmu                     11.210.8160 Tag: powershell winget
EasyConnect              lstratman.easyconnect               3.1.0.105   Tag: powershell winget
Oh My Posh               JanDeDobbeleer.OhMyPosh             3.173.0     Tag: PowerShell winget
electerm                 electerm.electerm                   1.16.1      Tag: PowerShell winget
TfsCmdlets               Igoravl.TfsCmdlets                  2.1.0.2485  Tag: powershell winget
PowerShell Universal     IronmanSoftware.PowerShellUniversal 2.0.0                       winget
12345678910111213

然后执行 winget install Microsoft.PowerShell,出现多条记录时,通过 ID 来进行下载

powershell
❯ winget install Microsoft.PowerShell
已找到 PowerShell [Microsoft.PowerShell]
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x64.msi
  ██████████████████████████████  94.9 MB / 94.9 MB
已成功验证安装程序哈希
正在启动程序包安装...
已成功安装
123456789

第三步

打开 Windows Terminal 的“设置”

image-20210819142012798

接着点击“打开 JSON 文件”,文件位于 $home\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json

image-20210819142339619

然后,我们看到 “profiles” 下的 “list” 列表,正常情况下 Windows.Terminal.PowershellCore 是处于最后一个,这里我已经将它挪到了第一位,同时,我们将 “profiles” 上方的 "defaultProfile" 设置为 PowerShell 7 的 guid 值,这样,我们每次打开 Windows Terminal,就会是 PowerShell 7 了

image-20210819143110568

第四步

验证版本信息,可以看到已经是 7.1.4 了,可执行文件位置在 C:\Program Files\PowerShell\7\pwsh.exe,如果遇到 IDE,可以通过这个路径指定 PowerShell的版本

powershell
❯ $psversiontable

Name                           Value
----                           -----
PSVersion                      7.1.4
PSEdition                      Core
GitCommitId                    7.1.4
OS                             Microsoft Windows 10.0.22000
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
12345678910111213
0

评论 (0)

取消