PowerShell 模块完全指南:从入门到终端美化生产力实战
前言
很多人觉得 PowerShell 只是 Windows 自带的“高级 CMD”,功能普通、界面简陋。但实际上,PowerShell 的真正生产力,全部来自「模块(Module)」。
PowerShell 模块相当于插件、功能包,可以给终端增加语法高亮、智能补全、命令预测、Git 状态、云运维、脚本检测、系统管理等能力。
本文从零讲清楚:模块是什么、怎么安装、怎么管理、开机自动加载、常用必备模块、终极美化配置、常见报错解决,一次性打通 PowerShell 生产力。
一、先搞懂:PowerShell 模块是什么?
简单理解:
-
CMD:原生固定功能,无法扩展
-
PowerShell:核心功能极简,所有高级能力靠「模块扩展」
模块分为两类:
-
内置模块:系统自带,直接可用(如 Archive、NetTCPIP)
-
第三方模块:从官方仓库安装(PSGallery),比如 PSReadLine、posh-git
PowerShell 所有插件、增强工具,本质都是 Module。
二、模块核心基础命令(必记)
1. 查看已安装模块
Get-Module -ListAvailable
2. 查看当前已加载模块
Get-Module
3. 安装模块(官方仓库)
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module 模块名 -Scope CurrentUser -Force
-Scope CurrentUser:仅当前用户,不需要管理员权限,推荐日常使用。
4. 加载模块到当前终端
Import-Module 模块名
5. 卸载/更新模块
# 更新
Update-Module 模块名
# 卸载
Uninstall-Module 模块名
三、关键知识点:临时生效 vs 永久生效
所有 Import-Module、配置命令,默认只在当前窗口生效。
想要开机、新开终端自动生效,必须写入 PowerShell Profile。
Profile 基础操作
# 查看 profile 路径
$PROFILE
# 不存在则创建
if (!(Test-Path $PROFILE)) { New-Item $PROFILE -Force }
# 打开编辑
notepad $PROFILE
所有永久配置,全部写在这个文件里。
四、新手必装核心模块(生产力天花板)
1. PSReadLine(最强终端增强,必装)
微软官方模块,所有 PowerShell 增强的基础,功能包括:
-
命令语法高亮
-
历史命令搜索 Ctrl+R
-
智能命令预测(灰色提示)
-
上下箭头模糊匹配历史
2. posh-git(Git 集成)
终端显示 Git 分支、修改状态、干净提示,开发必备。
3. OhMyPosh(美化提示符)
不属于模块,是独立终端美化工具,搭配 PSReadLine 使用,实现高颜值终端、分段提示符、图标主题。
五、全网最稳:无报错终极 Profile 配置
修复网上 90% 的教程报错(比如 HistoryNoDuplicates 参数错误),可直接全覆盖使用。
<#
PowerShell7 终极生产力配置
PSReadLine + Git增强 + 终端美化
#>
# 加载核心模块
Import-Module PSReadLine
Import-Module posh-git
# 上下箭头增量搜索历史
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineOption -HistorySearchCursorMovesToEnd
# 智能命令预测(灰字提示) F2切换视图
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle InlineView
# 历史记录去重(修复旧版报错写法)
Set-PSReadLineOption -HistoryNoDuplicates
Set-PSReadLineOption -HistorySaveStyle SaveIncrementally
# 自定义高亮配色(暗色终端舒适)
Set-PSReadLineOption -Colors @{
Command = "#569CD6"
Parameter = "#9CDCFE"
Variable = "#4EC9B0"
String = "#CE9178"
Operator = "#C586C0"
Comment = "#6A9955"
InlinePrediction = "#666666"
}
# OhMyPosh 美化主题
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/paradox.omp.json" | Invoke-Expression
# Git 显示优化
$GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true
$GitPromptSettings.BranchColor.ForegroundColor = 'Cyan'
# 常用别名
Set-Alias ll Get-ChildItem
Set-Alias g git
Set-Alias t tree
六、OhMyPosh 配置文件位置详解
很多新手搞混:Profile ≠ OhMyPosh 配置
-
Profile:PowerShell 启动脚本,负责加载模块、执行初始化
-
OhMyPosh 主题文件:.omp.json 样式配置
1. 官方主题默认路径
# 打开主题目录
explorer $env:POSH_THEMES_PATH
默认存放所有官方主题,不建议直接修改,更新会覆盖。
2. 自定义主题推荐路径
自己修改的主题统一放这里,永久保留:
$HOME/.config/oh-my-posh/
七、常见报错 & 解决方案(避坑)
1. Set-PSReadLineOption -HistoryNoDuplicates $true 报错
原因:该参数是开关参数,不能赋值 false。
正确写法:
Set-PSReadLineOption -HistoryNoDuplicates
2. 禁止运行脚本
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
3. 终端图标乱码
未安装 Nerd 字体,安装 Cascadia Code / MesloLGS NF,终端设置切换字体即可。
八、进阶:日常高频实用模块推荐
-
PSScriptAnalyzer:PowerShell 代码检查、规范 Lint
-
Microsoft.PowerShell.Archive:压缩解压
-
Az / AWS.Tools:云服务器运维
-
Pode:PowerShell 搭建 Web 服务、API
九、写在最后
PowerShell 的强大不在于原生功能,而在于模块化扩展能力。
搭配 PSReadLine 智能编辑 + OhMyPosh 高颜值界面 + posh-git 开发集成,完全可以替代 CMD、第三方终端工具,成为 Windows 下一站式开发、运维、自动化终端。
附录:常用速查命令
# 重载配置
. $PROFILE
# 查看所有 OhMyPosh 主题
oh-my-posh list
# 导出当前主题
oh-my-posh config export "$HOME/.config/oh-my-posh/mytheme.omp.json"
# 查看 PSReadLine 全部快捷键
Get-PSReadLineKeyHandler