Get-PSDrive
現在のセッションのドライブを取得します。
構文
Get-PSDrive
[[-Name] <String[]>]
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Get-PSDrive
[-LiteralName] <String[]>
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
説明
コマンドレットは Get-PSDrive
、現在のセッションのドライブを取得します。 セッション内の特定のドライブを取得することも、すべてのドライブを取得することもできます。
このコマンドレットは、次の種類のドライブを取得します。
- ネットワーク共有にマップされたドライブを含む、コンピューター上の Windows 論理ドライブ。
- PowerShell プロバイダーによって公開されるドライブ (Certificate:、Function:、Alias: ドライブなど) と、Windows PowerShell レジストリ プロバイダーによって公開される HKLM: ドライブと HKCU: ドライブ。
- セッション指定の一時ドライブと、New-PSDrive コマンドレットを使用して作成する永続的なマップされたネットワーク ドライブ。
Windows PowerShell 3.0 以降では、コマンドレットの New-PSDrive
Persist パラメーターを使用して、ローカル コンピューターに保存され、他のセッションで使用できるマップされたネットワーク ドライブを作成できます。 詳細については、「New-PSDrive」を参照してください。
また、Windows PowerShell 3.0 以降では、外部ドライブがコンピューターに接続されている場合、Windows PowerShell は新しいドライブを表す PSDrive をファイル システムに自動的に追加します。 Windows PowerShell を再起動する必要はありません。 同様に、外部ドライブがコンピューターから取り外された場合、Windows PowerShell は取り外されたドライブを表す PSDrive を自動的に削除します。
例
例 1: 現在のセッションでドライブを取得する
PS C:\> Get-PSDrive
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Alias Alias
C 202.06 23718.91 FileSystem C:\
Cert Certificate \
D 1211.06 123642.32 FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
このコマンドは、現在のセッションにあるドライブを取得します。
出力には、ハード ドライブ (C:)、CD-ROM ドライブ (D:)、Windows PowerShell プロバイダーによって公開されるドライブ (Alias:、Cert:、Env:、Function:、HKCU:、HKLM:、Variable:) が表示されます。
例 2: コンピューター上のドライブを取得する
PS C:\foo> Get-PSDrive D
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
D 1211.06 123642.32 FileSystem D:\
このコマンドは、コンピューターの D: ドライブを取得します。 コマンドではドライブ文字の後にコロンを指定していないことに注意してください。
例 3: Windows PowerShell ファイル システム プロバイダーでサポートされているすべてのドライブを取得する
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A A:\
C 202.06 23718.91 FileSystem C:\
D 1211.06 123642.32 FileSystem D:\
G 202.06 710.91 FileSystem \\Music\GratefulDead
このコマンドは、Windows PowerShell FileSystem プロバイダーによってサポートされているすべてのドライブを取得します。 これには、New-PSDrive コマンドレットを使用して作成する固定ドライブ、論理パーティション、マップされたネットワーク ドライブ、一時ドライブが含まれます。
例 4: ドライブがWindows PowerShellドライブ名として使用されているかどうかを確認する
if (Get-PSDrive X -ErrorAction SilentlyContinue) {
Write-Host 'The X: drive is already in use.'
} else {
New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}
このコマンドは、X ドライブが Windows PowerShell ドライブ名として既に使用されているかどうかを確認します。
そうでない場合、コマンドは コマンドレットを New-PSDrive
使用して、HKLM:\SOFTWARE レジストリ キーにマップされる一時ドライブを作成します。
例 5: ファイル システム ドライブの種類を比較する
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
A A:\
C 202.06 23718.91 FileSystem C:\
D 1211.06 123642.32 FileSystem D:\
G 202.06 710.91 FileSystem \\Music\GratefulDead
X Registry HKLM:\Network
PS C:\> net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK G: \\Server01\Public Microsoft Windows Network
PS C:\> [System.IO.DriveInfo]::GetDrives() | Format-Table
Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace TotalSize RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ -------------- --------- ------------- -----------
A:\ Network False A:\
C:\ Fixed NTFS True 771920580608 771920580608 988877418496 C:\ Windows
D:\ Fixed NTFS True 689684144128 689684144128 1990045179904 D:\ Big Drive
E:\ CDRom False E:\
G:\ Network NTFS True 69120000 69120000 104853504 G:\ GratefulDead
PS N:\> Get-CimInstance -Class Win32_LogicalDisk
DeviceID DriveType ProviderName VolumeName Size FreeSpace
-------- --------- ------------ ---------- ---- ---------
A: 4
C: 3 Windows 988877418496 771926069248
D: 3 Big! 1990045179904 689684144128
E: 5
G: 4 \\Music\GratefulDead 988877418496 771926069248
PS C:\> Get-CimInstance -Class Win32_NetworkConnection
LocalName RemoteName ConnectionState Status
--------- ---------- --------------- ------
G: \\Music\GratefulDead Connected OK
この例では、表示されるファイル システム ドライブ Get-PSDrive
の種類と、他のメソッドを使用して表示されるドライブを比較します。 この例では、Windows PowerShellでドライブを表示するさまざまな方法を示します。New-PSDrive コマンドレットを使用して作成されたセッション固有のドライブには、Windows PowerShellでのみアクセス可能であることを示しています。
最初のコマンドでは、 を使用 Get-PSDrive
して、セッション内のすべてのファイル システム ドライブを取得します。 これには、固定ドライブ (C: と D:)、の Persist パラメーターを使用して作成されたマップされたネットワーク ドライブ (G:)、Persist パラメーターNew-PSDrive
なしで を使用New-PSDrive
して作成された PowerShell ドライブ (T:) が含まれます。
net use コマンドは、Windows マップされたネットワーク ドライブを表示します。この場合、G ドライブのみが表示されます。 によって New-PSDrive
作成された X: ドライブは表示されません。 G: ドライブも \\Music\GratefulDead にマップされていることを示しています。
3 番目のコマンドは、Microsoft .NET Framework System.IO.DriveInfo クラスの GetDrives メソッドを使用します。 このコマンドは、ドライブ G: を含む Windows ファイル システム ドライブを取得しますが、 によって New-PSDrive
作成されたドライブは取得されません。
4 番目のコマンドは、Get-CimInstance
コマンドレットを使用して、Win32_LogicalDisk クラスのインスタンスを取得します。 A:、C:、D:、E:、G: ドライブが返されますが、 によって New-PSDrive
作成されたドライブは返されません。
最後のコマンドは、Get-CimInstance
コマンドレットを使用して、Win32_NetworkConnection クラスのインスタンスを表示します。 net use と同様に、 によってNew-PSDrive
作成された永続的な G: ドライブのみが返されます。
パラメーター
-LiteralName
ドライブの名前を指定します。
LiteralName の値は、入力した内容のまま使用されます。 ワイルドカードとして解釈される文字はありません。 名前にエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
文字列配列として、このコマンドレットが操作で取得するドライブの名前または名前を指定します。
ドライブ名または文字をコロン (:
) なしで入力します。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSProvider
Windows PowerShell プロバイダーを文字列配列として指定します。 このコマンドレットは、このプロバイダーでサポートされているドライブのみを取得します。 FileSystem、Registry、Certificate など、プロバイダーの名前を入力します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
このコマンドレットがドライブを取得するスコープを指定します。
このパラメーターの有効値は、次のとおりです。
- グローバル
- ローカル
- スクリプト
- 現在のスコープに対する相対的な数値 (0 からスコープの数。0 は現在のスコープ、1 はその親)。 既定値は "Local" です。
詳細については、「 about_Scopes」を参照してください。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
入力
None
オブジェクトをこのコマンドレットにパイプすることはできません。
出力
このコマンドレットは、セッション内のドライブを表すオブジェクトを返します。
メモ
PowerShell には、 の次のエイリアスが Get-PSDrive
含まれています。
すべてのプラットフォーム:
gdr
このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーの一覧を表示するには、
Get-PSProvider
コマンドレットを使用します。 詳細については、「about_Providers」を参照してください。New-PSDrive コマンドレットの Persist パラメーターを使用して作成されたマップされたネットワーク ドライブは、ユーザー アカウントに固有です。 [管理者として実行] オプションまたは別のユーザーの資格情報で開始されたセッションで作成したマップされたネットワーク ドライブは、明示的な資格情報なしで開始されたセッションや、現在のユーザーの資格情報では表示されません。