次の方法で共有


Get-PSDrive

現在のセッションのドライブを取得します。

構文

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<CommonParameters>]

説明

Get-PSDrive コマンドレットは、現在のセッションのドライブを取得します。 セッション内の特定のドライブまたはすべてのドライブを取得できます。

このコマンドレットは、次の種類のドライブを取得します。

  • コンピューター上の Windows 論理ドライブ (ネットワーク共有にマップされたドライブを含む)。
  • 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       Provider      Root
----       --------      ----
Alias      Alias
C          FileSystem    C:\
Cert       Certificate   \
D          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:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          FileSystem    D:\

このコマンドは、コンピューター上の D: ドライブを取得します。 コマンドのドライブ文字の後にコロンが続かないことに注意してください。

例 3: Windows PowerShell ファイル システム プロバイダーでサポートされているすべてのドライブを取得する

PS C:\> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

このコマンドは、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       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

PS C:\> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
X:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives()

Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 39831498752
TotalFreeSpace     : 39831498752
TotalSize          : 79900368896
RootDirectory      : C:\
VolumeLabel        :
Name               : D:\
DriveType          : CDRom
DriveFormat        :
IsReady            : False
AvailableFreeSpace :
TotalFreeSpace     :
TotalSize          :
RootDirectory      : D:\
VolumeLabel        :
Name               : X:\
DriveType          : Network
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 36340559872
TotalFreeSpace     : 36340559872
TotalSize          : 36413280256
RootDirectory      : X:\
VolumeLabel        : D_Drive

PS C:\> Get-WmiObject Win32_LogicalDisk

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 39831252992
Size         : 79900368896
VolumeName   :
DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
DeviceID     : X:
DriveType    : 4
ProviderName : \\server01\public
FreeSpace    : 36340559872
Size         : 36413280256
VolumeName   : D_Drive

PS C:\> Get-WmiObject Win32_NetworkConnection

LocalName                     RemoteName
--------------               ------------
x:                            \\server01\public

この例では、 Get-PSDrive によって表示されるファイル システム ドライブの種類と、他の方法を使用して表示されるファイル システム ドライブの種類を比較します。 この例では、Windows PowerShell でドライブを表示するさまざまな方法を示し、New-PSDrive コマンドレットを使用して作成された一時的なセッション固有のドライブは Windows PowerShell でのみアクセスできることを示しています。

最初のコマンドは 、Get-PSDrive を使用して、セッション内のすべてのファイル システム ドライブを取得します。 これには、固定ドライブ (C: と D:)、New-PSDrivePersist パラメーターを使用して作成されたマップされたネットワーク ドライブ (X:)、および Persist パラメーターを指定せずに New-PSDrive を使用して作成された 2 つの一時的な Windows PowerShell ドライブ (Y: と Z:) が含まれます。

net use コマンドは、Windows にマップされたネットワーク ドライブを表示しますが、X ドライブのみを表示します。 New-PSDriveによって作成されたY:ドライブとZ:ドライブは表示されません。 X: ドライブも \\Server01\Public にマップされていることを示しています。

3 番目のコマンドでは、Microsoft .NET Framework System.IO.DriveInfo クラスの GetDrives メソッドを使用します。 このコマンドは、ドライブ X: を含む Windows ファイル システム ドライブを取得しますが、 New-PSDrive によって作成された一時ドライブは取得しません。

4 番目のコマンドでは、Get-WmiObject コマンドレットを使用して 、Win32_LogicalDisk クラスのインスタンスを取得します。 C:、D:、および X: ドライブは返されますが、 New-PSDrive によって作成された一時ドライブは返されません。

最後のコマンドでは、Get-WmiObject コマンドレットを使用して 、Win32_NetworkConnection クラスのインスタンスを表示します。 net use と同様に、 New-PSDrive によって作成された永続的な X: ドライブのみを返します。

パラメーター

-LiteralName

ドライブの名前を指定します。

LiteralName の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 名前にエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、文字をエスケープ シーケンスとして解釈しないように Windows PowerShell に指示します。

型:String[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Name

文字列配列として、このコマンドレットが操作で取得するドライブの名前または名前を指定します。 ドライブ名または文字をコロン (:) なしで入力します。

型:String[]
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-PSProvider

Windows PowerShell プロバイダーを文字列配列として指定します。 このコマンドレットは、このプロバイダーでサポートされているドライブのみを取得します。 FileSystem、レジストリ、証明書などのプロバイダーの名前を入力します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Scope

このコマンドレットがドライブを取得するスコープを指定します。

このパラメーターに使用できる値は次のとおりです。

  • グローバル
  • ローカル
  • スクリプト
  • 現在のスコープに対する相対的な数値 (0 からスコープの数、0 が現在のスコープ、1 がその親)。 "Local" が既定値です。 詳細については、「about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260)」を参照してください。
型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-UseTransaction

アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、「about_Transactions」を参照してください。

型:SwitchParameter
Aliases:usetx
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

PSDriveInfo

このコマンドレットは、セッション内のドライブを表すオブジェクトを返します。

メモ

  • このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、Get-PSProvider コマンドレットを使用します。 詳細については、about_Providersを参照してください。
  • New-PSDrive コマンドレットの Persist パラメーターを使用して作成されたマップされたネットワーク ドライブは、ユーザー アカウントに固有です。 [管理者として実行] オプションまたは別のユーザーの資格情報を使用して開始されたセッションで作成したマップされたネットワーク ドライブは、明示的な資格情報なしで開始されたセッションや、現在のユーザーの資格情報では表示されません。