


仕事で使いそうなPowershell – ネットワークドライブの接続 New-PSDrive
1 2 3 4 5 |
PS C:\> new-psdrive -name Z -psprovider FileSystem -root \\freenas.rootlinks.net\data Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- Z FileSystem \\freenas.rootlinks.net\data |
ただしこのコマンドで接続したドライブは
Windows PowerShell ドライブは Windows PowerShell でのみ認識されます。Windows エクスプローラー、Windows Management Instrumentation (WMI)、コンポーネント オブジェクト モデル (COM)、Microsoft .NET Framework を使用する、またはNet Use などのツールを使用してアクセスすることはできません。
とあるのでマイコンピュータに表示されず通常のドライブのようにアクセスすることはできません。また
Windows PowerShell ドライブは、現在の Windows PowerShell セッションにのみ存在します。ドライブを存続させるには、ドライブを追加したセッションをエクスポートするか、New-PSDrive コマンドを Windows PowerShell プロファイルに保存します。
通常は使うこと無さそうです
このドライブはNet Useコマンドでは表示されません
1 2 3 4 5 6 |
PS C:\> net use 新しい接続は記憶されます。 ステータス ローカル名 リモート名 ネットワーク名 ------------------------------------------------------------------------------- OK Y: \\server.rootlinks.net\Documents Microsoft Windows Network コマンドは正常に終了しました。 |
一覧を表示するには Get-PSDriveコマンドレットを使用します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PS C:\> Get-PSDrive Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- Alias Alias C 83.98 139.49 FileSystem C:\ Users\matsuoka cert Certificate \ D 532.26 224.63 FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan Y 273.11 226.89 FileSystem Y:\ Z FileSystem \\freenas.rootlinks.net\data |
New-PSDriveで接続した共有フォルダはRemove-PSDriveで切断します
1 |
PS C:\> Remove-PSDrive -name Z |
[ヘルプ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
PS C:> Get-help New-PSDrive -full 名前 New-PSDrive 概要 Windows PowerShell ドライブを現在のセッションに作成します。 構文 New-PSDrive [-Name] <string> [-PSProvider] <string> [-Root] <string> [-Credential <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 Mana gement 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-Credential コマンドレットで生成されるよう な PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されま す。 このパラメーターは、Windows PowerShell でインストールされるプロバイダーではサポートされていません。 必須 false 位置 named 既定値 パイプライン入力を許可する true (ByPropertyName) ワイルドカード文字を許可する false -Description <string> ドライブの簡単な説明テキストを指定します。任意の文字列を入力します。 システムにあるすべての Windows PowerShell ドライブの説明を表示するには、「get-psdrive | format name, descriptio n」と入力します。特定の Windows PowerShell ドライブの説明を表示するには、「(get-psdrive <DriveName>).descriptio n」と入力します。 必須 false 位置 named 既定値 パイプライン入力を許可する true (ByPropertyName) ワイルドカード文字を許可する false -Name <string> 新しいドライブの名前を指定します。名前の有効な文字列を使用できます。ドライブ文字に限定されません。Windows Power Shell のドライブ名では大文字と小文字が区別されます。 必須 true 位置 1 既定値 パイプライン入力を許可する true (ByPropertyName) ワイルドカード文字を許可する false -PSProvider <string> この種類のドライブをサポートする Windows PowerShell プロバイダーを指定します。 たとえば、Windows PowerShell ドライブがネットワーク共有またはファイル システム ディレクトリに関連付けられている 場合、Windows PowerShell プロバイダーは "FileSystem" になります。Windows PowerShell ドライブがレジストリ キーに 関連付けられている場合、プロバイダーは "Registry" になります。 Windows PowerShell セッションでプロバイダーの一覧を表示するには、「get-psprovider」と入力します。 必須 true 位置 2 既定値 パイプライン入力を許可する true (ByPropertyName) ワイルドカード文字を許可する false -Root <string> Windows PowerShell ドライブをマッピングするデータ ストアの場所を指定します。 たとえば、ネットワーク共有 (\\Server01\Public など)、ローカル ディレクトリ (C:\Program Files など)、またはレジ ストリ キー (HKLM:\Software\Microsoft など) を指定します。 必須 true 位置 3 既定値 パイプライン入力を許可する true (ByPropertyName) ワイルドカード文字を許可する false -Scope <string> ドライブのスコープを指定します。指定可能な値は、Global、Local、Script、または現在のスコープの相対的な数値 (0 ~ スコープの数。ここで 0 は現在のスコープを表し、1 はその親を表す) です。既定値は Local です。詳細については、「a bout_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_Provi ders」を参照してください。 -------------------------- 例 1 -------------------------- C:\PS>new-psdrive -name P -psprovider FileSystem -root \\Server01\Public Name Provider Root ---- -------- ---- P FileSystem \\Server01\Public 説明 ----------- このコマンドは、Windows でマッピングされたネットワーク ドライブと同じように動作する Windows PowerShell ドライブを作 成します。このコマンドでは、\\Server01\Public ネットワーク共有にマッピングされる P: という名前の Windows PowerShell ドライブが作成されます。 ドライブの名前の指定には Name パラメーター、Windows PowerShell FileSystem プロバイダーの指定には PSProvider パラメ ーター、ネットワーク共有の指定には Root パラメーターをそれぞれ使用します。 コマンドが完了すると、\\Server01\Public 共有の内容が P: ドライブに表示されます。内容を表示するには、「dir p:」と入 力します。 -------------------------- 例 2 -------------------------- C:\PS>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 説明 ----------- このコマンドは、ローカル ディレクトリにクイック アクセスする Windows PowerShell ドライブを作成します。MyDocs: とい う名前のドライブが作成され、 ローカル コンピューター上の "C:\Documents and Settings\User01\My Documents" ディレクトリにマッピングされます。 ドライブの名前の指定には Name パラメーター、Windows PowerShell FileSystem プロバイダーの指定には PSProvider パラメ ーター、My Documents フォルダーへのパスの指定には Root パラメーター、ドライブの説明の作成には Description パラメー ターをそれぞれ使用します。 コマンドが完了すると、My Documents フォルダーの内容が MyDocs: ドライブに表示されます。内容を表示するには、「dir myd ocs:」と入力します。 -------------------------- 例 3 -------------------------- C:\PS>new-psdrive -name MyCompany -psprovider Registry -root HKLM:\Software\MyCompany Name Provider Root ---- -------- ---- MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo... 説明 ----------- このコマンドは、頻繁にチェックされるレジストリ キーにクイック アクセスする Windows 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\Public 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.Network COM オブジェクトを作成し、MapNetwo rkDrive メソッドを使用して \\Server01\Public ネットワーク共有をローカル コンピューター上の X: ドライブにマッピングします。 こうすると 2 つのドライブを調べることができます。Get-PSDrive ドライブ コマンドを使用すると、2 つのドライブは同じよ うに表示されますが、ネットワーク共有名は PSDrive: ドライブのルートにのみ表示されます。 ドライブ オブジェクトを Get-Member に送信すると、同じ種類のオブジェクト System.Management.Automation.PSDriveInfo が あることがわかります。 ただし、"net use" コマンド、Win32_LogicalDisk クラスに対する Get-WmiObject コマンド、および Win32_NetworkConnection クラスに対する Get-WmiObject コマンドを実行すると、Wscript.Network オブジェクトを使用して作成された X: ドライブの みが検出されます。これは、Windows PowerShell ドライブが Windows PowerShell のみに認識されるためです。 Windows PowerShell セッションを閉じ、新しいコンソールを開くと、PSDrive: ドライブが削除され X: ドライブが保持されます。 このため、ネットワーク ドライブをマッピングする方法を決めるときには、ドライブを使用する方法、ドライブを存続させる必 要があるかどうか、およびドライブに Windows の他の機能からアクセスする必要があるかどうかを考慮してください。 関連するリンク Online version: http://go.microsoft.com/fwlink/?LinkID=113357 about_Providers Get-PSDrive Remove-PSDrive |