PSドライブとは、PowerShellからファイル、フォルダ、レジストリなどにアクセスするための手段です。
従来のコマンドプロンプトの場合はファイル操作しかできなかったのですが、PowerShell で取り入れられたPSドライブによって、ファイル、フォルダ、レジストリなどに一貫した操作方法で取り扱うことができます。
PSドライブとして扱うことができるもののリストは Get-PSDrive コマンドレットで取得することができます。
Providerという列を見ると、Alias(エイリアス)やCertificate(デジタル署名)、Environment(環境変数)、Registry(レジストリ)、FileSystem(ファイルシステム)、Variable(変数)、WSMan(WinRMサービス)などがあることを確認できます。
もしもファイルシステムの一覧のみを取得したい場合には -PSProvider パラメータを使用して(Provider列にある名称を指定することができます)
Get-PSDrive -PSProvider filesystem
と入力します。
レジストリの一覧を取得したい場合には
Get-PSDrive -PSProvider Registry
と入力します。
さて、PSドライブの一覧を取得する方法がわかりました。
PSドライブは、ファイルシステムを操作する要領でアクセスできるので
Set-Location HKCU:
とすると、レジストリのHKEY_CURRENT_USERにアクセスすることができるようになります。
(Set-Location コマンドレットはカレント変更するコマンドレットです)
コンソールウィンドウをよく見ると、 カレントが「PS C:\Work」から「PS HKCU:」に変わっていることを確認できます。
ファイルシステムに戻る場合も Set-Location コマンドレットを使用して
Set-Location C:\
のように入力します。
Set-Location コマンドレットは、cd というエイリアスを持っていますので
cd c:\
と入力することも可能です。
このようにPSドライブという仕組みがあることで、レジストリやその他のプロバイダもファイルシステムを操作するように取り扱うことが可能です。
コメント