PowerShell を使用してディスク容量情報を取得する
PowerShell は、Windows オペレーティングシステムシステムに関する包括的なレポートを生成できます。これらのレポートのメトリックの 1つは、システムドライブとそのドライブスペース情報のリストです。
この記事では、すべてのシステムドライブの情報をエクスポートするいくつかのコマンドを学習し、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)
に変更し、浮動小数点値の出力を小数点以下 2 桁に丸めます。
PowerShell で WMI オブジェクトを使用してディスク容量情報を取得する
ディスク領域情報を取得する別の方法は、WMIObject クラスを使用することです。このクラスは 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