解释 PowerShell 配置文件。


当您打开 PowerShell 时,它会加载配置文件,就像 Windows 操作系统一样。当您登录到 Windows 操作系统时,您会登录到您的配置文件,并且每个用户都有自己的个人配置文件。它被称为当前主机的当前配置文件。

要检查您的配置文件,请在 PowerShell 控制台中键入$Profile 命令。

PS C:\Users\Administrator> $profile
C:\Users\Administrator\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.p
s1

这是针对 PowerShell 控制台的,但让我们检查一下 PowerShell 是否对 ISE 使用相同的配置文件。

PS C:\> $profile
C:\Users\Administrator\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profil
e.ps1

因此,ISE 也有自己的配置文件,并且两者都存储在$Home 目录中。如果我们对 VSCode 使用$profile 会怎么样。

PS C:\> $profile
C:\Users\Administrator\Documents\PowerShell\Microsoft.VSCode_profile.ps1

这意味着每个编辑器都有自己的配置文件,用于当前用户和当前主机。

您可能已经注意到,每当您启动 PowerShell 时,您都可以访问系统上不同用户创建的命令和模块,因为简单地启动 PowerShell 也会加载存储在$PSHome 位置的模块。除了当前用户之外

PS C:\> $pshome
C:\Windows\System32\WindowsPowerShell\v1.0

上面的例子表明,也可能存在一个对所有用户都存在的配置文件。让我们看看 PowerShell ISE 版本总共有多少个配置文件。

PS C:\> $profile | fl * -Force
AllUsersAllHosts          : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost       : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.Pow
erShellISE_profile.ps1
CurrentUserAllHosts       : C:\Users\Administrator\Documents\WindowsPowerShell\profi
le.ps1
CurrentUserCurrentHost    : C:\Users\Administrator\Documents\WindowsPowerShell\Micro
soft.PowerShellISE_profile.ps1
Length                    : 86

上面的命令是从 ISE 执行的,我们现在将在 PowerShell 控制台中检查相同的命令,

PS C:\Users\Administrator> $PROFILE | fl * -Force
AllUsersAllHosts          : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost       : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.Pow
erShell_profile.ps1
CurrentUserAllHosts       : C:\Users\Administrator\Documents\WindowsPowerShell\profi
le.ps1
CurrentUserCurrentHost    : C:\Users\Administrator\Documents\WindowsPowerShell\Micro
soft.PowerShell_profile.ps1
Length                    : 83

当您比较以上两个输出时,您可以注意到当前主机(所有用户和当前用户)配置文件取决于您使用的编辑器。如果您使用 PowerShell 控制台,则配置文件名称将包含 PowerShell 配置文件,如果您使用 ISE 或 VSCode,则当前主机配置文件将相应地包含名称。

通过比较,我们得知配置文件基本上存储在两个位置。1) $Home (C:\Users\<UserName>) 和 2) $PSHome (C:\Windows\System32\WindowsPowerShell)。

所以总共有 6 个配置文件。

  • 当前用户,当前主机 - PowerShell 控制台

  • 当前用户,所有主机

  • 所有用户,当前主机 - PowerShell 控制台

  • 所有用户,所有主机

  • 当前用户,当前主机 - 取决于编辑器

  • 所有用户,当前主机 - 取决于编辑器。

更新于: 2020年8月8日

469 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告