本文将介绍如何创建并使用 PowerShell 配置文件以自定义 PowerShell 会话环境。

本文基于 PowerShell 7.2 LTS 版本,请读者使用 PowerShell 7.2 或更新版本。

官方文档

PowerShell 配置文件简介

PowerShell 配置文件是在 PowerShell 启动时运行的脚本。

类似于 Bash 中的 .bashrc.bash_profile 等文件,PowerShell 中的配置文件也将在 PowerShell 启动时被自动加载。

用户可以在 PowerShell 配置文件中添加命令、别名、函数、变量、管理单元、模块和 PowerShell 驱动器,以便在所有 PowerShell 会话中复用这些配置,而无需重新配置它们。

PowerShell 支持多个配置文件并按照优先级加载。下面按照优先级顺序列出 Windows 下 PowerShell 配置文件的路径。

  • 所有用户、所有主机 $PSHOME\Profile.ps1
  • 所有用户,当前主机 $PSHOME\Microsoft.PowerShell_profile.ps1
  • 当前用户、所有主机 $Home\Documents\PowerShell\Profile.ps1
  • 当前用户,当前主机 $Home\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
  • 自动变量 $PSHOME 中保存着 PowerShell 的安装目录
  • 自动变量 $Home 中保存着当前用户的主目录

若想查看 PowerShell 配置文件的路径也可使用自动变量 $PROFILE,更多相关内容请查阅官方文档

第三方应用程序也可以使用自己特定的配置文件。

创建并使用 PowerShell 配置文件

创建 PowerShell 配置文件

若要创建 PowerShell 配置文件,可使用以下命令格式:

if (!(Test-Path -Path <PROFILE-NAME>)) {
  New-Item -ItemType File -Path <PROFILE-NAME> -Force
}

例如,若要创建所有用户、所有主机配置文件,请使用以下命令:

若你未安装 sudo 脚本,请参考这篇博文

if (!(Test-Path -Path $PROFILE.AllUsersAllHosts)) {
  sudo New-Item -ItemType File -Path $PROFILE.AllUsersAllHosts -Force
}

使用 PowerShell 配置文件

若你想要将一些变量、别名、函数、命令或添加到 PowerShell 会话的模块保存,使其在将来所有的会话中可用,请将其添加到 PowerShell 配置文件。

若你未安装 sudo 脚本,请参考这篇博文

sudo notepad $PROFILE.AllUsersAllHosts