使用 PowerShell 獲取磁碟空間資訊
PowerShell 可以在我們的 Windows 作業系統系統上生成綜合報告。這些報告中的指標之一是我們的系統驅動器列表及其驅動器空間資訊。
在本文中,我們將學習一些命令,這些命令將匯出我們所有系統驅動器上的資訊,並學習如何使用 PowerShell 確定機器中剩餘的驅動器空間。
使用 PowerShell 中的 PSDrive 庫獲取磁碟空間資訊
PSDrive 庫是一組命令,負責使用 PowerShell 管理、建立和刪除臨時和持久驅動器。第一種方法將關注查詢命令 Get-PSDrive
。
通過執行 Get-PSDrive
命令,我們可以快速獲取安裝在我們系統中的所有儲存庫的資訊。
示例程式碼:
Get-PSDrive
輸出:
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Alias Alias
C 442.84 21.56 FileSystem C:\ Users\KentMarion
Cert Certificate \
D 3507.38 218.63 FileSystem D:\
Env Environment
Function Function
G 519.22 412.28 FileSystem G:\
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
WSMan WSMan
正如我們從上面的輸出中看到的,Get-PSDrive
命令在其物件中有一個 Name
屬性。通過了解這些資訊,我們可以通過過濾其驅動器名稱並選擇另一個物件屬性來確定其空閒大小來隔離特定驅動器。
執行以下命令進行測試。
示例程式碼:
Get-PSDrive -Name C | Select-Object Name, Free
輸出:
Name Free
---- ----
C 23061344256
但是,如果我們將最新的輸出與之前的輸出進行比較,我們可以看到空閒大小已將自身轉換為位元組。因此,要將值重新轉換為千兆位元組 (GB),我們必須在選擇物件屬性時設定自定義表示式。
執行以下命令進行測試。
示例程式碼:
Get-PSDrive -Name C | Select-Object Name, @{Name = "Free (GB)"; Expression={[Math]::Round($_.Free/1GB,2)}}
輸出:
Name Free (GB)
---- ----
C 21.41
上面的示例程式碼將列重新命名為 Free (GB)
並將浮點值的輸出四捨五入到小數點後兩位。
在 PowerShell 中使用 WMI 物件獲取磁碟空間資訊
獲取磁碟空間資訊的另一種方法是使用 WMI Object 類。這個類的功能類似於 PSDrive,但唯一的區別是這個庫可以查詢遠端計算機。
示例程式碼:
Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object DeviceID, @{Name = "Free (GB)"; Expression={[Math]::Round($_.FreeSpace/1GB,2)}}
輸出:
DeviceID Free (GB)
-------- ---------
C: 21.42
要在遠端計算機上啟動查詢,請在 Get-WMIObject
命令中新增 ComputerName
引數。
Get-WmiObject Win32_LogicalDisk -ComputerName "REMOTE-PC" -Filter "DeviceID='C:'"
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn