PowerShell Cmdlet - New-PSDrive
 記事記号:[mg1930] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    New-PSDrive
    
概要
    Windows PowerShell ドライブを現在のセッションに作成します。
    
構文
    New-PSDrive [-Name] <string> [-PSProvider] <string> [-Root] <string> [-Crede
    ntial <PSCredential>] [-Description <string>] [-Scope <string>] [-Confirm] [
    -WhatIf] [-UseTransaction] [<CommonParameters>]
    
説明
    New-PSDrive コマンドレットは Windows PowerShell ドライブを作成します。このド
    ライブは、ネットワーク ドライブ、ローカル コンピューター上のディレクトリやレ
    ジストリ キーなどのデータ ストア内の場所に "マッピング" または関連付けられま
    す。
    
    マッピングされたドライブを使用する場合と同様に、Windows PowerShell ドライブ
    を作成して使用し、関連付けられたデータ ストア内のデータにアクセスできます。
    場所をドライブ内に変更して ("set-location"、"cd"、または "chdir" を使用)、ド
    ライブの内容にアクセスできます ("get-item"、"get-childitem"、または "dir" を
    使用)。
    
    ただし、Windows PowerShell ドライブは Windows PowerShell でのみ認識されます。
    Windows エクスプローラー、Windows Management Instrumentation (WMI)、コンポー
    ネント オブジェクト モデル (COM)、Microsoft .NET Framework を使用する、また
    は Net Use などのツールを使用してアクセスすることはできません。
    
     Windows PowerShell ドライブは、現在の Windows PowerShell セッションにのみ存
    在します。ドライブを存続させるには、ドライブを追加したセッションをエクスポー
    トするか、New-PSDrive コマンドを Windows PowerShell プロファイルに保存します。
    
    New-PSDrive で作成したドライブを削除するには、Remove-PSDrive コマンドレット
    を使用します。
    
パラメーター
    -Credential <PSCredential>
        この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既
        定値は現在のユーザーです。
        
        "User01" や "Domain01\User01" などユーザー名を入力します。または、Get-Cr
        edential コマンドレットで生成されるような PSCredential オブジェクトを入
        力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示
        されます。
        
        このパラメーターは、Windows PowerShell でインストールされるプロバイダー
        ではサポートされていません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Description <string>
        ドライブの簡単な説明テキストを指定します。任意の文字列を入力します。
        
        システムにあるすべての Windows PowerShell ドライブの説明を表示するには、
        「get-psdrive | format name, description」と入力します。特定の Windows P
        owerShell ドライブの説明を表示するには、「(get-psdrive <DriveName>).desc
        ription」と入力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Name <string>
        新しいドライブの名前を指定します。名前の有効な文字列を使用できます。ドラ
        イブ文字に限定されません。Windows PowerShell のドライブ名では大文字と小
        文字が区別されます。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -PSProvider <string>
        この種類のドライブをサポートする Windows PowerShell プロバイダーを指定し
        ます。
        
        たとえば、Windows PowerShell ドライブがネットワーク共有またはファイル シ
        ステム ディレクトリに関連付けられている場合、Windows PowerShell プロバイ
        ダーは "FileSystem" になります。Windows PowerShell ドライブがレジストリ 
        キーに関連付けられている場合、プロバイダーは "Registry" になります。
        
        Windows PowerShell セッションでプロバイダーの一覧を表示するには、「get-p
        sprovider」と入力します。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Root <string>
        Windows PowerShell ドライブをマッピングするデータ ストアの場所を指定しま
        す。
        
        たとえば、ネットワーク共有 (\\Server01\Public など)、ローカル ディレクト
        リ (C:\Program Files など)、またはレジストリ キー (HKLM:\Software\Micros
        oft など) を指定します。
        
        必須                         true
        位置                         3
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Scope <string>
        ドライブのスコープを指定します。指定可能な値は、Global、Local、Script、
        または現在のスコープの相対的な数値 (0 〜スコープの数。ここで 0 は現在の
        スコープを表し、1 はその親を表す) です。既定値は Local です。詳細につい
        ては、「about_Scopes」を参照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Confirm [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    なし
        パイプを使用してこのコマンドレットに入力を渡すことはできません。
    
出力
    System.Management.Automation.PSDriveInfo
    
メモ
        New-PSDrive コマンドレットは、プロバイダーによって公開されているデータを
        使用するように設計されています。セッションで使用可能なプロバイダーの一覧
        を表示するには、「get-psprovider」と入力します。詳細については、「about_
        Providers」を参照してください。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS>new-psdrive -name P -psprovider FileSystem -root \\Server01\Public
    
    Name       Provider      Root
    ----       --------      ----
    P          FileSystem    \\Server01\Public
    
    説明
    -----------
    このコマンドは、Windows でマッピングされたネットワーク ドライブと同じように
    動作する Windows PowerShell ドライブを作成します。このコマンドでは、\\Server
    01\Public ネットワーク共有にマッピングされる P: という名前の Windows PowerSh
    ell ドライブが作成されます。
    
    ドライブの名前の指定には Name パラメーター、Windows PowerShell FileSystem プ
    ロバイダーの指定には PSProvider パラメーター、ネットワーク共有の指定には Roo
    t パラメーターをそれぞれ使用します。
    
    コマンドが完了すると、\\Server01\Public 共有の内容が P: ドライブに表示されま
    す。内容を表示するには、「dir p:」と入力します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>new-psdrive -name MyDocs -psprovider FileSystem -root "C:\Documents an
    d Settings\User01\My Documents" -Description "Maps to my My Documents folder
    ."
    
    Name       Provider      Root
    ----       --------      ----
    MyDocs     FileSystem    C:\Documents and Settings\User01\My Documents
    
    説明
    -----------
    このコマンドは、ローカル ディレクトリにクイック アクセスする Windows PowerSh
    ell ドライブを作成します。MyDocs: という名前のドライブが作成され、ローカル 
    コンピューター上の "C:\Documents and Settings\User01\My Documents" ディレク
    トリにマッピングされます。
    
    ドライブの名前の指定には Name パラメーター、Windows PowerShell FileSystem プ
    ロバイダーの指定には PSProvider パラメーター、My Documents フォルダーへのパ
    スの指定には Root パラメーター、ドライブの説明の作成には Description パラメ
    ーターをそれぞれ使用します。
    
    コマンドが完了すると、My Documents フォルダーの内容が MyDocs: ドライブに表示
    されます。内容を表示するには、「dir mydocs:」と入力します。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>new-psdrive -name MyCompany -psprovider Registry -root HKLM:\Software\
    MyCompany
    
    Name       Provider      Root
    ----       --------      ----
    MyCompany  Registry      HKEY_LOCAL_MACHINE\Software\MyCo...
    
    説明
    -----------
    このコマンドは、頻繁にチェックされるレジストリ キーにクイック アクセスする W
    indows PowerShell ドライブを作成します。このコマンドでは MyCompany という名
    前のドライブが作成され、HKLM\Software\MyCompany レジストリ キーにマッピング
    されます。
    
    ドライブの名前の指定には Name パラメーター、Windows PowerShell Registry プロ
    バイダーの指定には PSProvider パラメーター、レジストリ キーの指定には Root 
    パラメーターをそれぞれ使用します。
    
    コマンドが完了すると、MyCompany キーの内容が MyCompany: ドライブに表示されま
    す。内容を表示するには、「dir MyCompany:」と入力します。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>new-psdrive -name PsDrive -psprovider FileSystem -root \\Server01\Publ
    ic
    
    C:\PS> $drive = new-object -com wscript.network
    C:\PS> $drive.MapNetworkDrive("X:", "\\Server01\Public")
    
    C PS:\> get-psdrive public, x
    
    Name       Provider      Root
    ----       --------      ----
    PsDrive    FileSystem    \\Server01\public
    X          FileSystem    X:\
    
    C:\PS>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()
    ...
    
    C:\PS> net use
    Status       Local     Remote                    Network
    ---------------------------------------------------------------------------
                 X:        \\server01\public         Microsoft Windows Network
    
    C:\PS> get-wmiobject win32_logicaldisk | ft deviceid
    deviceid
    --------
    C:
    D:
    X:
    
    C:\PS> get-wmiobject win32_networkconnection
    LocalName  RemoteName         ConnectionState               Status
    ---------  ----------         ---------------               ------
    X:         \\products\public  Disconnected                  Unavailable
    
    説明
    -----------
    この例は、Windows ドライブと Windows PowerShell ドライブを同じネットワーク共
    有にマッピングしたときの違いを示します。
    
    最初のコマンドでは、New-PSDrive コマンドレットを使用して PSDrive: という名前
    の Windows PowerShell ドライブを作成し、\\Server01\Public ネットワーク共有に
    マッピングします。
    
    2 番目のコマンド セットでは、New-Object コマンドレットを使用して Wscript.Net
    work COM オブジェクトを作成し、MapNetworkDrive メソッドを使用して \\Server01
    \Public ネットワーク共有をローカル コンピューター上の X: ドライブにマッピン
    グします。
    
    こうすると 2 つのドライブを調べることができます。Get-PSDrive ドライブ コマン
    ドを使用すると、2 つのドライブは同じように表示されますが、ネットワーク共有名
    は PSDrive: ドライブのルートにのみ表示されます。
    
    ドライブ オブジェクトを Get-Member に送信すると、同じ種類のオブジェクト Syst
    em.Management.Automation.PSDriveInfo があることがわかります。
    
    ただし、"net use" コマンド、Win32_LogicalDisk クラスに対する Get-WmiObject 
    コマンド、および Win32_NetworkConnection クラスに対する Get-WmiObject コマン
    ドを実行すると、Wscript.Network オブジェクトを使用して作成された X: ドライブ
    のみが検出されます。これは、Windows PowerShell ドライブが Windows PowerShell 
    のみに認識されるためです。
    
    Windows PowerShell セッションを閉じ、新しいコンソールを開くと、PSDrive: ドラ
    イブが削除され X: ドライブが保持されます。
    
    このため、ネットワーク ドライブをマッピングする方法を決めるときには、ドライ
    ブを使用する方法、ドライブを存続させる必要があるかどうか、およびドライブに W
    indows の他の機能からアクセスする必要があるかどうかを考慮してください。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113357
    about_Providers 
    Get-PSDrive 
    Remove-PSDrive 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、New-PSDrive
ご利用数: 1915288
感想・要望・問い合わせは こちら