在 PowerShell 中列出驱动器
-
PowerShell 中的
Get-PSDrive
命令简介 - 在 PowerShell 的当前会话中获取驱动器
- 在 PowerShell 中获取计算机上的驱动器
- 获取 PowerShell 文件系统提供程序支持的所有驱动器
- 检查驱动器是否用作 PowerShell 驱动器名称
作为 Windows 管理员,在某些情况下,我们需要获取有关我们日常管理的系统的特定信息。此信息之一是系统驱动器。
我们可以使用 PowerShell 快速查询这些信息。本文将讨论 Get-PSDrive
命令的好处以及我们可以在实际场景中应用所述命令的几种情况。
PowerShell 中的 Get-PSDrive
命令简介
Get-PSDrive
命令检索当前机器或会话中的驱动器信息。我们可以获取特定的系统驱动器或计算机中的所有驱动器。
此 cmdlet 从以下类型的驱动器中检索信息。
- 计算机上的 Windows 逻辑驱动器映射到网络共享,包括驱动器。
- PowerShell 提供程序公开的驱动器(例如
Function:
、Certificate:
和Alias:
驱动器)以及 Windows PowerShell 注册表提供程序公开的HKLM:
和HKCU:
驱动器。 - 我们使用
New-PSDrive
cmdlet 创建的持久映射网络驱动器或会话指定的临时驱动器。从 Windows PowerShell 3.0 版开始,New-PSDrive
命令的-Persist
参数可以创建保存在本地计算机上并在其他会话中可用的映射网络驱动器。
我们将在本文的下一部分解决这个问题。
从 Windows PowerShell 3.0 版开始,当外部驱动器(闪存驱动器、外部硬盘等)连接到计算机时,Windows PowerShell 会自动将 PSDrive
添加到代表新驱动器的文件系统中。
因此,你不需要重新启动 Windows PowerShell。
同样,当外部驱动器与计算机断开连接时,Windows PowerShell 会自动删除表示已删除驱动器的 PSDrive
。
要检查你当前的 PowerShell 版本,你可以运行以下代码片段。
$PSVersionTable
以下是我们在使用 Get-PSDrive
命令创建脚本时可以使用的一些示例。
在 PowerShell 的当前会话中获取驱动器
下面的命令获取当前会话中的所有驱动器。我们还可以指出,cmdlet 的基本语法不需要任何额外的参数来执行。
Get-PSDrive
在 PowerShell 中获取计算机上的驱动器
此命令获取计算机上的特定驱动器。值得注意的是,冒号不应跟在命令中的驱动器号后面。
例如,我们在下面的示例代码中查询了系统驱动器 C:
。此外,我们可以替换片段中的字母 C
参数来查询另一个驱动器。
示例代码:
Get-PSDrive C
输出:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
C 471.64 459.13 FileSystem C:\
获取 PowerShell 文件系统提供程序支持的所有驱动器
此命令检索 Windows PowerShell 文件系统提供程序支持的所有驱动器。此方法包括使用 New-PSDrive
cmdlet 创建的固定驱动器、逻辑分区、映射网络驱动器和临时驱动器。
示例代码:
Get-PSDrive -PSProvider FileSystem
检查驱动器是否用作 PowerShell 驱动器名称
此命令检查特定驱动器是否已用作 Windows PowerShell 驱动器名称。如果没有,该命令使用 New-PSDrive
cmdlet 创建一个映射到 HKLM:\SOFTWARE
注册表项的临时驱动器。
if (Get-PSDrive Q -ErrorAction SilentlyContinue) {
Write-Host 'The Q: drive is already in use.'
} else {
New-PSDrive -Name Q -PSProvider Registry -Root HKLM:\SOFTWARE
}
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn