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-Location
、 cd、または chdir を使用し、ドライブの内容にアクセスするには、 Get-Item
、 Get-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
このコマンドレットに入力をパイプすることはできません。
出力
メモ
-
New-PSDrive
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、Get-PSProvider
を使用します。 プロバイダーの詳細については、about_Providersを参照してください。 - マップされたネットワーク ドライブは、ユーザー アカウントに固有です。 昇格されたセッションまたは別のユーザーの資格情報を使用してセッションで作成されたマップされたドライブは、異なる資格情報を使用して開始されたセッションには表示されません。