共用方式為


New-PSDrive

建立暫時和持續性的對應網路驅動器機。

語法

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

Description

New-PSDrive Cmdlet 會建立暫存和持續性磁碟驅動器,這些磁碟驅動器會對應至或與數據存放區中的位置相關聯,例如網路驅動器機、本機計算機上的目錄或登錄機碼,以及與遠端電腦上文件系統位置相關聯的永續性 Windows 對應網路驅動器機。

暫存磁碟驅動器只存在於目前的PowerShell工作階段和您在目前工作階段中建立的工作階段中。 它們可以具有任何在PowerShell中有效的名稱,而且可以對應至任何本機或遠端資源。 您可以使用暫存 PowerShell 磁碟驅動器來存取相關聯數據存放區中的數據,就像使用任何對應的網路驅動器機一樣。 您可以使用 Set-Locationcdchdir,將位置變更為磁碟驅動器,並使用 Get-ItemGet-ChildItemdir來存取磁碟驅動器的內容。

不過,因為只有 PowerShell 才知道暫存磁碟驅動器,所以您無法使用檔案總管、Windows Management Instrumentation (WMI)、元件物件模型(COM)或Microsoft .NET Framework,或使用 Net Use 之類的工具加以存取。

下列功能會新增至 Windows PowerShell 3.0 中的 New-PSDrive

  • 對應的網路驅動器機。 您可以使用 New-PSDrivePersist 參數來建立 Windows 對應網路驅動器機。 不同於暫時的 PowerShell 磁碟驅動器,Windows 對應的網路驅動器機並非會話專用。 它們會儲存在 Windows 中,而且可以使用標準 Windows 工具進行管理,例如檔案總管和 Net Use。 對應的網路驅動器機必須具有驅動器號名稱,並連線到遠端檔案系統位置。 當您的命令在本機設定範圍時(沒有點來源),Persist 參數不會保存建立 PSDrive 超出命令執行範圍的範圍。 如果您在腳本內執行 New-PSDrive,而且您希望磁碟驅動器無限期地保存,則必須以點來源撰寫腳本。 為了獲得最佳結果,若要強制新磁碟驅動器無限期保存,請將 Scope 參數新增至命令,並將其值設定為 Global。
  • 外部磁碟驅動器。 當外部磁碟驅動器連線到計算機時,PowerShell 會自動將 PSDrive 新增至代表新磁碟驅動器的文件系統。 您不需要重新啟動 PowerShell。 同樣地,當外部磁碟驅動器與計算機中斷連線時,PowerShell 會自動刪除代表已移除磁碟驅動器的 PSDrive
  • UNC 路徑的認證。

Root 參數的值是 UNC 路徑時,例如 \\Server\Share,則會使用 Credential 參數值中指定的認證來建立 PSDrive。 否則,當您建立新的文件系統磁碟驅動器時,認證 無效。

範例

範例 1:建立對應至網路共用的磁碟驅動器

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

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

此命令會建立名為 P: 的暫存 PowerShell 磁碟驅動器,此磁碟驅動器會對應至 \\Server01\Public network 共用。

它會使用 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 參數來建立磁碟驅動器的描述。

當命令完成時,[我的文檔] 資料夾的內容會出現在 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 磁碟驅動器,以快速存取經常檢查的登錄機碼。 它會建立名為 MyCompany 的磁碟驅動器,該磁碟驅動器會對應至 HKLM\Software\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 接受的字母名稱,並 指定遠端電腦上的位置。 它會使用 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

在執行 Cmdlet 之前,提示您進行確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-Credential

指定具有執行此動作許可權的用戶帳戶。 預設值為目前的使用者。

輸入使用者名稱,例如 「User01」 或 「Domain01\User01」,或輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所產生的用戶名稱。 如果您輸入使用者名稱,此 Cmdlet 會提示您輸入密碼。

從 Windows PowerShell 3.0 開始,當 Root 參數的值是 UNC 路徑時,您可以使用認證來建立文件系統磁碟驅動器。 所有 PowerShell 提供者都不支援此參數。

類型:PSCredential
Position:Named
預設值:Current user
必要:False
接受管線輸入:True
接受萬用字元:False

-Description

指定磁碟驅動器的簡短文字描述。 輸入任何字串。

若要檢視工作階段中所有磁碟驅動器的描述,請輸入 Get-PSDrive | Format-Table Name, Description。 若要檢視特定磁碟驅動器的描述,請輸入 (Get-PSDrive \<DriveName\>).Description

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Name

指定新磁碟驅動器的名稱。 針對持續性的對應網路驅動器機,請輸入驅動器號。 若為暫時的PowerShell磁碟驅動器,請輸入任何有效的字串;您不限於驅動器號。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Persist

指出此 Cmdlet 會建立 Windows 對應網路驅動器機。 對應的網路驅動器機會儲存在本機電腦上的 Windows 中。 它們是持續性的,而不是會話特定的,而且可以在檔案總管和其他工具中檢視和管理。

當您在本機設定命令範圍時,也就是不使用點來源,Persist 參數不會保存建立 PSDrive 超出您執行命令的範圍。 如果您在腳本內執行 New-PSDrive,而且您希望新磁碟驅動器無限期地保存,則必須以點來源撰寫腳本。 為了獲得最佳結果,若要強制保留新的磁碟驅動器,請指定 Global 作為 Scope 參數的值,以及將 [保存 新增至命令]。

磁碟驅動器的名稱必須是字母,例如 'D' 或 'E'。 Root 參數的值必須是不同電腦的 UNC 路徑。 PSProvider 參數的值必須是 FileSystem。

若要中斷 Windows 對應網路驅動器機的連線,請使用 Remove-PSDrive Cmdlet。 當您中斷 Windows 對應網路驅動器機的連線時,對應會從計算機永久刪除,而不只是從目前的會話中刪除。

對應的網路驅動器機專屬於用戶帳戶。 使用其他使用者的認證在提升許可權的會話或會話中建立的對應磁碟驅動器,不會顯示在使用不同認證啟動的會話中。

類型:SwitchParameter
Position:Named
預設值:False
必要:False
接受管線輸入:True
接受萬用字元:False

-PSProvider

指定支援這種磁碟驅動器的PowerShell提供者。

例如,如果磁碟驅動器與網路共享或文件系統目錄相關聯,PowerShell 提供者就是 FileSystem。 如果磁碟驅動器與登錄機碼相關聯,則提供者為 Registry。

暫存 PowerShell 磁碟驅動器可以與任何 PowerShell 提供者相關聯。 對應的網路驅動器機只能與 FileSystem 提供者相關聯。

若要查看 PowerShell 工作階段中的提供者清單,請使用 Get-PSProvider Cmdlet。

類型:String
Position:1
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Root

指定 PowerShell 磁碟驅動器對應的數據存放區位置。

例如,指定網路共用,例如 \\Server01\Public、本機目錄,例如 C:\Program Files 或登錄機碼,例如 HKLM:\Software\Microsoft。

暫存 PowerShell 磁碟驅動器可以與任何支援的提供者磁碟驅動器上的本機或遠端位置相關聯。 對應的網路驅動器機只能與遠端電腦上的檔案系統位置相關聯。

類型:String
Position:2
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Scope

指定磁碟驅動器的範圍。 此參數可接受的值為:Global、Local 和 Script,或相對於目前範圍的數位。 範圍數位 0 到範圍數目。 目前的範圍編號為 0,其父系為 1。 如需詳細資訊,請參閱 about_Scopes

類型:String
Position:Named
預設值:Local
必要:False
接受管線輸入:True
接受萬用字元:False

-UseTransaction

在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions

類型:SwitchParameter
別名:usetx
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

您無法使用管線將輸入傳送至此 Cmdlet。

輸出

PSDriveInfo

備註

  • New-PSDrive 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請使用 Get-PSProvider。 如需提供者的詳細資訊,請參閱 about_Providers
  • 對應的網路驅動器機專屬於用戶帳戶。 使用其他使用者的認證在提升許可權的會話或會話中建立的對應磁碟驅動器,不會顯示在使用不同認證啟動的會話中。