PowerShell 的位置

Migel Hewage Nimesha 2023年1月30日 2022年5月16日
  1. 使用 Host.version 在 Windows Server 2008 中查找 PowerShell.exe 的位置
  2. Get-Process 在 Windows Server 2008 中查找 PowerShell.exe 的位置
PowerShell 的位置

从 Windows 7 开始,PowerShell 是默认安装在每台 Windows PC 中的用于脚本编写、自动化要求和 CI/CD 系统管理的命令行界面。

它用于弥合 Windows 用户和类 Linux 系统用户之间的差距。

本文主要是关于以不同方式查找 PowerShell.exe 文件位置。

所提供解决方案的重点用户群是 Windows Server 2008 用户。但是,它适用于 Windows 7 版本以上的用户。

使用 Host.version 在 Windows Server 2008 中查找 PowerShell.exe 的位置

当你使用高于 1.0 版的 Windows PowerShell 版本时,你将很难找到通向 Windows PowerShell 的正确路径。就我而言,我的 Windows 10 PC 上安装了 PowerShell 版本 5。

然而,当运行在 Windows PowerShell dir 中打开目录的命令时,显示的版本是 v1.0。

PS C:\Windows\System32\WindowsPowerShell> dir

输出:

Directory: C:\Windows\System32\WindowsPowerShell
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          4/9/2021   7:23 PM                v1.0

这里发生的是由于微软的目录命名引起的混乱。

它显示长度名称为 v1.0,但这不是我的 PC 的 PowerShell 应用程序的实际版本名称。因此,我们将使用 $Host.version 命令来查找正确的 PowerShell 版本。

PS C:\Windows\System32\WindowsPowerShell> $Host.version

此代码的输出显示了正确的 PowerShell 主要和次要版本。

PS C:\Windows\System32\WindowsPowerShell> $Host.version
Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      19041  1320

如你所见,版本是 Windows PowerShell 5.1,而不是版本 v1.0。

造成这种混乱的原因是开发人员正在更新版本。但是,文件夹名称与 v1.0 相同。在 v1.0 文件夹目录中,你可以看到 Windows PowerShell 5.1 的 .exe 文件。

如果你找到正确的位置,你必须进入 v1.0 文件夹并获取 .exe 文件。要找到正确的版本信息,你需要执行 PowerShell 的 $Host.version 命令。

Get-Process 在 Windows Server 2008 中查找 PowerShell.exe 的位置

在 Windows PC 中查找 PowerShell.exe 文件的位置路径的一种便捷方法是通过 Get-Process 命令。

你无需定向到 PowerShell 文件夹即可运行命令。下面是直接显示 PowerShell.exe 文件路径的命令。

PS C:\Users\Agni> (Get-Process powershell | select -First 1).Path

输出:

PS C:\Users\Agni> (Get-Process powershell | select -First 1).Path
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

因此,这种方法可以被认为是确定所需 .exe 文件的正确路径的轻松方法。但是,你无法像我们在之前的方法中那样识别 PowerShell 的版本。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.