在 PowerShell 中列出驅動器

Marion Paul Kenneth Mendoza 2023年1月30日
  1. PowerShell 中的 Get-PSDrive 命令簡介
  2. 在 PowerShell 的當前會話中獲取驅動器
  3. 在 PowerShell 中獲取計算機上的驅動器
  4. 獲取 PowerShell 檔案系統提供程式支援的所有驅動器
  5. 檢查驅動器是否用作 PowerShell 驅動器名稱
在 PowerShell 中列出驅動器

作為 Windows 管理員,在某些情況下,我們需要獲取有關我們日常管理的系統的特定資訊。此資訊之一是系統驅動器。

我們可以使用 PowerShell 快速查詢這些資訊。本文將討論 Get-PSDrive 命令的好處以及我們可以在實際場景中應用所述命令的幾種情況。

PowerShell 中的 Get-PSDrive 命令簡介

Get-PSDrive 命令檢索當前機器或會話中的驅動器資訊。我們可以獲取特定的系統驅動器或計算機中的所有驅動器。

此 cmdlet 從以下型別的驅動器中檢索資訊。

  1. 計算機上的 Windows 邏輯驅動器對映到網路共享,包括驅動器。
  2. PowerShell 提供程式公開的驅動器(例如 Function:Certificate:Alias: 驅動器)以及 Windows PowerShell 登錄檔提供程式公開的 HKLM:HKCU: 驅動器。
  3. 我們使用 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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn