【 Get-PSDrive 】コマンドレット――PowerShellで利用可能なドライブの情報を取得する:Windows PowerShell基本Tips(20)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-PSDrive」コマンドレットを解説します。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、PowerShellで利用可能なドライブの一覧を取得する「Get-PSDrive」コマンドレットです。
Get-PSDriveコマンドレットとは?
「Get-PSDrive」は、PowerShell内で利用可能なドライブの一覧を取得するコマンドレットです。一般的に「ドライブ」といえば、CドライブやDドライブなどのディスクドライブを指しますが、PowerShellでは「レジストリ」や「証明書ストア」などにもドライブが設定されているため、ファイルシステムと同じように「Set-Location」コマンドレットでディレクトリを移動したり、「Get-ChildItem」コマンドレット(本連載第1回)でカレントディレクトリ内のコンテンツ一覧を参照したりすることができます。
Get-PSDriveコマンドレットの主なオプション
オプション | 意味 |
---|---|
-Name | 参照したいドライブを指定する。省略可能 |
-PSProvider | 参照したいドライブのプロバイダーを指定する。省略可能 |
Cドライブのディスク容量の状況を確認する
特定のディスクドライブの情報は「-Name」オプションで指定します。Cドライブの情報であれば「-Name C」のように、オプションに続けてドライブ文字を指定します(画面1)。
コマンドレット実行例
Get-PSDrive -Name C
Cドライブを含む、ドライブの一覧はオプションを設定せずにGet-PSDriveコマンドレットを実行することで確認できます。
PowerShellからアクセス可能なレジストリドライブを参照する
「-Provider」オプションを使用すると、特定の種類のドライブ一覧を参照できます(画面2)。
コマンドレット実行例
Get-PSDrive -PSProvider Registry
PowerShellでは、CやDなどのディスクドライブだけでなく、レジストリハイブもドライブとして設定されていることを確認できます。これにより、「Set-Location HKLM\System\CurrentControlSet」と入力することで、フォルダ階層のようにレジストリにアクセスできます。
また、「-PSProvider」オプションで指定可能なプロバイダーには「FileSystem」「Certificate」などがあります。
変数の一覧を確認する
Get-PSDriveコマンドレットの実行結果で表示される「Variable」ドライブ(PowerShellの変数とその値へのアクセスを提供する)を利用することで、PowerShellで利用可能な変数の一覧を確認できます(画面3)。
コマンドレット実行例
Get-PSDrive -PSProvider variable (Variableドライブを取得) Set-Location Variable:\ (Variableドライブに移動) dir (変数の一覧を参照)

画面3 Get-PSDriveコマンドレットの実行結果からVariableドライブの存在を知り、その結果に基づいてSet-LocationコマンドレットでVariableドライブに移動して、ドライブ内の一覧を参照している
Variableドライブを利用することで、PowerShellで利用可能な変数を知ることができるだけでなく、変数に入っている値も同時に確認できます。これにより、PowerShellでスクリプトをテストする際、思惑通りの変数の値が入っているかどうかなどを確認できるメリットがあります。
筆者紹介
国井 傑(くにい すぐる)
株式会社ソフィアネットワーク取締役。1997年からマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年からMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.