次の方法で共有


New-PSDrive

一時的および永続的なマップされたネットワーク ドライブを作成します。

構文

New-PSDrive
   [-Name] <String>
   [-PSProvider] <String>
   [-Root] <String>
   [-Description <String>]
   [-Scope <String>]
   [-Persist]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [-UseTransaction]
   [<CommonParameters>]

説明

New-PSDrive コマンドレットは、ネットワーク ドライブ、ローカル コンピューター上のディレクトリ、レジストリ キーなどのデータ ストア内の場所にマップまたは関連付けられた一時および永続的なドライブ、およびリモート コンピューター上のファイル システムの場所に関連付けられている永続的な Windows マップド ネットワーク ドライブを作成します。

一時ドライブは、現在の PowerShell セッションと、現在のセッションで作成したセッションにのみ存在します。 PowerShell で有効な任意の名前を持ち、任意のローカル リソースまたはリモート リソースにマップできます。 マップされたネットワーク ドライブと同様に、一時的な PowerShell ドライブを使用して、関連付けられているデータ ストア内のデータにアクセスできます。 ドライブ内の場所を変更するには、 Set-Locationcd、または chdir を使用し、ドライブの内容にアクセスするには、 Get-ItemGet-ChildItem、または dir を使用します。

ただし、一時ドライブは PowerShell のみが認識するため、エクスプローラー、Windows Management Instrumentation (WMI)、コンポーネント オブジェクト モデル (COM)、Microsoft .NET Framework、または Net Use などのツールを使用して、一時ドライブにアクセスすることはできません。

Windows PowerShell 3.0 の New-PSDrive には、次の機能が追加されています。

  • マップされたネットワーク ドライブ。 New-PSDrive パラメーターを使用して、Windows マップト ネットワーク ドライブを作成できます。 一時的な PowerShell ドライブとは異なり、Windows にマップされたネットワーク ドライブはセッション固有ではありません。 これらは Windows に保存され、エクスプローラーや Net Use などの標準の Windows ツールを使用して管理できます。 マップされたネットワーク ドライブは、ドライブ文字の名前を持ち、リモート ファイル システムの場所に接続されている必要があります。 コマンドのスコープがローカルに設定されている場合 (ドット ソーシングなし)、 Persist パラメーターは、コマンドが実行されているスコープを超えて PSDrive の作成を保持しません。 スクリプト内で New-PSDrive を実行していて、ドライブを無期限に保持する場合は、スクリプトをドットソースする必要があります。 最適な結果を得るには、新しいドライブを強制的に無期限に保持するには、 コマンドに Scope パラメーターを追加し、その値を Global に設定します。
  • 外部ドライブ。 外部ドライブがコンピューターに接続されると、PowerShell によって、新しいドライブを表すファイル システムに PSDrive が自動的に追加されます。 PowerShell を再起動する必要はありません。 同様に、外部ドライブがコンピューターから切断されると、削除されたドライブを表す PSDrive が PowerShell によって自動的に削除されます。
  • UNC パスの資格情報。

Root パラメータの値が \\Server\Share などの UNC パスの場合、Credential パラメータの値で指定された資格情報を使用して PSDrive が作成されます。 そうしないと、新しいファイルシステムドライブを作成するときに 資格情報 は有効になりません。

例 1: ネットワーク共有にマップされたドライブを作成する

New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"

Name       Provider      Root
----       --------      ----
P          FileSystem    \\Server01\Public

このコマンドは、\\Server01\Public ネットワーク共有にマップされた P: という名前の一時的な PowerShell ドライブを作成します。

Name パラメーターを使用してドライブの名前を指定し、PSProvider パラメーターを使用して PowerShell FileSystem プロバイダーを指定し、Root パラメーターを使用してネットワーク共有を指定します。

コマンドが完了すると、\\Server01\Public 共有の内容が P: ドライブに表示されます。 それらを表示するには、「 dir P:」と入力します。

例 2: 一時ドライブを作成する

New-PSDrive -Name MyDocs -PSProvider FileSystem -Root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."

Name       Provider      Root
----       --------      ----
MyDocs     FileSystem    C:\Documents and Settings\User01\My Documents

このコマンドは、ローカル ディレクトリへの迅速なアクセスを提供する一時的な PowerShell ドライブを作成します。 MyDocs: という名前のドライブが作成され、ローカル コンピューターの "C:\Documents and Settings\User01\My Documents" ディレクトリにマップされます。

Name を使用してドライブの名前を指定し、PSProvider を使用して PowerShell FileSystem プロバイダーを指定し、Root を使用して My Documents フォルダーのパスを指定し、Description パラメーターを使用してドライブの説明を作成します。

コマンドが完了すると、My Documents フォルダの内容が MyDocs: ドライブに表示されます。 それらを表示するには、「 dir MyDocs:」と入力します。

例 3: レジストリ キーのドライブを作成する

New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"

Name       Provider      Root
----       --------      ----
MyCompany  Registry      HKEY_LOCAL_MACHINE\Software\MyCo...

このコマンドは、頻繁にチェックされるレジストリ キーにすばやくアクセスできるようにする一時的な PowerShell ドライブを作成します。 HKLM\Software\MyCompany レジストリ キーにマップされた MyCompany という名前のドライブが作成されます。

Name を使用してドライブの名前を指定し、PSProvider を使用して PowerShell レジストリ プロバイダーを指定し、Root を使用してレジストリ キーを指定します。

コマンドが完了すると、MyCompany キーの内容が MyCompany: ドライブに表示されます。 それらを表示するには、「 dir MyCompany:」と入力します。

例 4: マップされた永続ネットワーク ドライブを作成する

New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use

Status       Local     Remote                    Network
---------------------------------------------------------
OK           S:        \\Server01\Scripts        Microsoft Windows Network

このコマンドは、ローカル コンピューター上に 'S' マップされたネットワーク ドライブを作成します。 'S' ドライブは \\Server01\Scripts ネットワーク共有にマップされます。

このコマンドは、 New-PSDrive を使用して、マップされたネットワーク ドライブを作成します。 Persist を使用して、Windows にマップされたネットワーク ドライブを作成し、ローカル コンピューターに保存します。

このコマンドでは、 Name を使用して Windows が受け入れる文字名を指定し、 Root を使用してリモート コンピューター上の場所を指定します。 PSProvider を使用して FileSystem プロバイダーを指定します。

結果のドライブは、ローカル コンピューター上の他の PowerShell セッション、Windows エクスプローラー、Net Use などの他のツールで表示できます。

例 5: 永続ドライブと一時ドライブを作成する

# Create a temporary PowerShell drive called PSDrive: that is mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Use the *Persist* parameter of **New-PSDrive** to create the X: mapped network drive, which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Now, you can use the **Get-PSDrive** drive cmdlet to examine the two drives. The drives appear to be the same, although the network share name appears only in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"

Name       Provider      Root
----       --------      ----

PsDrive    FileSystem    \\Server01\public
X          FileSystem    X:\

# Get-Member cmdlet shows that the drives have the same object type, System.Management.Automation.PSDriveInfo.
Get-PSDrive "PSDrive", "x" | Get-Member

TypeName: System.Management.Automation.PSDriveInfo

Name                MemberType Definition
----                ---------- ----------
CompareTo           Method     System.Int32 CompareTo(PSDriveInfo drive),
Equals              Method     System.Boolean Equals(Object obj),
GetHashCode         Method     System.Int32 GetHashCode()
...

# Net Use and Get-WmiObject for the Win32_LogicalDisk class, and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-WmiObject Win32_LogicalDisk | Format-Table -Property DeviceID
Get-WmiObject Win32_NetworkConnection

Status       Local     Remote                    Network
--------------------------------------------------------
OK           X:        \\contoso-pc\data            Microsoft Windows Network

deviceid
--------
C:
D:
X:

LocalName                  RemoteName                 ConnectionState            Status
---------                  ----------              ---------------               ------
X:                         \\products\public          Disconnected               Unavailable

この例では、永続的にマップされたネットワーク ドライブと、同じネットワーク共有にマップされる一時的な PowerShell ドライブの違いを示します。

PowerShell セッションを閉じてから新しいセッションを開くと、PSDrive: ドライブはなくなり、 X: ドライブは保持されます。 したがって、ネットワーク ドライブのマップに使用する方法を決定するときは、ドライブの使用方法、ドライブを永続的にする必要があるかどうか、およびドライブを他の Windows 機能から認識する必要があるかどうかを検討してください。

パラメーター

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

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

-Credential

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

Windows PowerShell 3.0 以降では、 Root パラメーターの値が UNC パスの場合、資格情報を使用してファイル システム ドライブを作成できます。 このパラメーターは、すべての PowerShell プロバイダーでサポートされているわけではありません。

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

-Description

ドライブの簡単な説明を指定します。 任意の文字列を入力します。

セッション内のすべてのドライブの説明を表示するには、「 Get-PSDrive | Format-Table Name, Description」と入力します。 特定のドライブの説明を表示するには、「 (Get-PSDrive \<DriveName\>).Description」と入力します。

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

-Name

新しいドライブの名前を指定します。 永続的にマップされたネットワーク ドライブの場合は、ドライブ文字を入力します。 一時的な PowerShell ドライブの場合は、有効な文字列を入力します。ドライブレターに限定されません。

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

-Persist

このコマンドレットによって、Windows マップされたネットワーク ドライブが作成されることを示します。 マップされたネットワーク ドライブは、ローカル コンピューター上の Windows に保存されます。 これらは永続的であり、セッション固有ではなく、エクスプローラーやその他のツールで表示および管理できます。

コマンドのスコープをローカルに設定した場合、つまりドットソーシングを使用しない場合、 Persist パラメーターは、コマンドを実行するスコープを超えて PSDrive の作成を保持しません。 スクリプト内 New-PSDrive 実行し、新しいドライブを無期限に保持する場合は、スクリプトをドット ソースする必要があります。 最適な結果を得るには、新しいドライブを強制的に永続化するには、コマンドに Persist を追加するだけでなく、Scope パラメーターの値として Global を指定します。

ドライブの名前は、「D」や「E」などの文字にする必要があります。 Root パラメーターの値は、別のコンピューターの UNC パスである必要があります。 PSProvider パラメーターの値は FileSystem である必要があります。

Windows マップト ネットワーク ドライブを切断するには、Remove-PSDrive コマンドレットを使用します。 Windows でマップされたネットワーク ドライブを切断すると、マッピングは、現在のセッションから削除されるだけでなく、コンピューターから完全に削除されます。

マップされたネットワーク ドライブは、ユーザー アカウントに固有です。 昇格されたセッションまたは別のユーザーの資格情報を使用してセッションで作成されたマップされたドライブは、異なる資格情報を使用して開始されたセッションには表示されません。

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

-PSProvider

この種類のドライブをサポートする PowerShell プロバイダーを指定します。

たとえば、ドライブがネットワーク共有またはファイル システム ディレクトリに関連付けられている場合、PowerShell プロバイダーは FileSystem です。 ドライブがレジストリ キーに関連付けられている場合、プロバイダーは Registry です。

一時 PowerShell ドライブは、任意の PowerShell プロバイダーに関連付けることができます。 マップされたネットワーク ドライブは、FileSystem プロバイダーにのみ関連付けることができます。

PowerShell セッションでプロバイダーの一覧を表示するには、Get-PSProvider コマンドレットを使用します。

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

-Root

PowerShell ドライブのマップ先となるデータ ストアの場所を指定します。

たとえば、ネットワーク共有 (\\Server01\Public など)、ローカル ディレクトリ (C:\Program Files など)、レジストリ キー (HKLM:\Software\Microsoft など) を指定します。

一時 PowerShell ドライブは、サポートされている任意のプロバイダー ドライブ上のローカルまたはリモートの場所に関連付けることができます。 マップされたネットワーク ドライブは、リモート コンピューター上のファイル システムの場所にのみ関連付けることができます。

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

-Scope

ドライブのスコープを指定します。 このパラメーターに指定できる値は、Global、Local、Script のいずれか、または現在のスコープを基準とした数値です。 スコープの数は 0 からスコープの数です。 現在のスコープ番号は 0 で、親は 1 です。 詳細については、about_Scopesを参照してください。

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

-UseTransaction

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

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

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

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

入力

None

このコマンドレットに入力をパイプすることはできません。

出力

PSDriveInfo

メモ

  • New-PSDrive は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、Get-PSProviderを使用します。 プロバイダーの詳細については、about_Providersを参照してください。
  • マップされたネットワーク ドライブは、ユーザー アカウントに固有です。 昇格されたセッションまたは別のユーザーの資格情報を使用してセッションで作成されたマップされたドライブは、異なる資格情報を使用して開始されたセッションには表示されません。