解释 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 控制台
所有用户,所有主机
当前用户,当前主机 - 取决于编辑器
所有用户,当前主机 - 取决于编辑器。