Sdílet prostřednictvím


New-PSDrive

Vytvoří dočasné a trvalé mapované síťové jednotky.

Syntaxe

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

Description

Rutina New-PSDrive vytvoří dočasné a trvalé jednotky mapované na umístění v úložišti dat nebo přidružené k umístění v úložišti dat, například síťovou jednotku, adresář na místním počítači nebo klíč registru a trvalé síťové jednotky mapované systémem Windows, které jsou přidružené k umístění systému souborů na vzdáleném počítači.

Dočasné jednotky existují pouze v aktuální relaci PowerShellu a v relacích, které vytvoříte v aktuální relaci. Můžou mít libovolný název, který je platný v PowerShellu, a je možné ho namapovat na jakýkoli místní nebo vzdálený prostředek. Dočasné jednotky PowerShellu můžete použít pro přístup k datům v přidruženém úložišti dat stejně jako u jakékoli mapované síťové jednotky. Umístění na jednotku můžete změnit pomocí Set-Location, cdnebo chdira získat přístup k obsahu jednotky pomocí Get-Item, Get-ChildItemnebo dir.

Vzhledem k tomu, že dočasné jednotky jsou známé jenom pro PowerShell, nemůžete k nim přistupovat pomocí Průzkumníka souborů, rozhraní WMI (Windows Management Instrumentation), modelu COM (Component Object Model) nebo rozhraní Microsoft .NET Framework nebo pomocí nástrojů, jako je net Use.

Do New-PSDrive ve Windows PowerShellu 3.0 se přidají následující funkce:

  • Mapované síťové jednotky. K vytvoření namapovaných síťových jednotek systému Windows můžete použít parametr ZachovatNew-PSDrive. Na rozdíl od dočasných jednotek PowerShellu nejsou namapované síťové jednotky windows specifické pro relaci. Ukládají se ve Windows a dají se spravovat pomocí standardních nástrojů windows, jako je Průzkumník souborů a Net Use. Mapované síťové jednotky musí mít název písmena jednotky a musí být připojené ke vzdálenému umístění systému souborů. Pokud je příkaz vymezen místně (bez tečk-sourcing), Zachovat parametr neuchová vytvoření PSDrive nad rámec, ve kterém je příkaz spuštěný. Pokud spouštíte New-PSDrive uvnitř skriptu a chcete, aby jednotka trvala neomezeně dlouho, musíte skript vytvořit tečkou. Nejlepších výsledků dosáhnete, pokud chcete vynutit trvalé uchování nové jednotky, přidejte do příkazu parametr Scope a nastavte jeho hodnotu na Global.
  • Externí jednotky. Když je externí jednotka připojená k počítači, PowerShell automaticky přidá PSDrive do systému souborů, který představuje novou jednotku. Nemusíte restartovat PowerShell. Podobně když se externí jednotka odpojí od počítače, PowerShell automaticky odstraní PSDrive, který představuje odebranou jednotku.
  • Přihlašovací údaje pro cesty UNC.

Pokud je hodnota parametru Root cesta UNC, například \\Server\Share, přihlašovací údaje zadané v hodnotě parametru Credential se použijí k vytvoření PSDrive. Jinak přihlašovacích údajů není efektivní při vytváření nových jednotek systému souborů.

Příklady

Příklad 1: Vytvoření jednotky mapované na sdílenou síť

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

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

Tento příkaz vytvoří dočasnou jednotku PowerShellu s názvem P: mapovanou na sdílenou složku \\Server01\Public network.

Pomocí parametru Name určuje název jednotky, parametr PSProvider k určení zprostředkovatele systému souborů PowerShellu a parametr root k určení sdílené síťové složky.

Po dokončení příkazu se obsah sdílené složky \\Server01\Public zobrazí na jednotce P: . Pokud je chcete zobrazit, zadejte: dir P:.

Příklad 2: Vytvoření dočasné jednotky

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

Tento příkaz vytvoří dočasnou jednotku PowerShellu, která poskytuje rychlý přístup k místnímu adresáři. Vytvoří jednotku s názvem MyDocs, která je namapovaná na adresář C:\Documents and Settings\User01\My Documents v místním počítači.

Používá Název zadat název jednotky, PSProvider určit zprostředkovatele systému souborů PowerShellu, kořenový určit cestu ke složce Dokumenty a Popis parametr pro vytvoření popisu jednotky.

Po dokončení příkazu se obsah složky Dokumenty zobrazí na MyDocs: jednotce. Pokud je chcete zobrazit, zadejte: dir MyDocs:.

Příklad 3: Vytvoření jednotky pro klíč registru

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

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

Tento příkaz vytvoří dočasnou jednotku PowerShellu, která poskytuje rychlý přístup k často kontrolovanému klíči registru. Vytvoří jednotku s názvem MyCompany, která je namapovaná na klíč registru HKLM\Software\MyCompany.

Používá Název zadat název jednotky, PSProvider určit zprostředkovatele registru PowerShellu a kořenový zadat klíč registru.

Po dokončení příkazu se obsah klíče MyCompany zobrazí v jednotce MyCompany:. Pokud je chcete zobrazit, zadejte: dir MyCompany:.

Příklad 4: Vytvoření trvalé mapované síťové jednotky

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

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

Tento příkaz vytvoří na místním počítači namapovanou síťovou jednotku S. Jednotka S je mapována na sdílenou síťovou složku \\Server01\Scripts.

Příkaz používá New-PSDrive k vytvoření mapované síťové jednotky. Používá Trvalé k vytvoření namapované síťové jednotky systému Windows, která je uložena v místním počítači.

Příkaz používá Název k zadání názvu písmena, který systém Windows přijímá, a kořenový k určení umístění ve vzdáleném počítači. K určení zprostředkovatele FileSystem používá PSProvider.

Výslednou jednotku je možné zobrazit v jiných relacích PowerShellu na místním počítači, v Průzkumníku Windows a v jiných nástrojích, jako je například Net Use.

Příklad 5: Vytvoření trvalých a dočasných jednotek

# 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

Tento příklad ukazuje rozdíl mezi trvalou mapovanou síťovou jednotkou a dočasnou jednotkou PowerShellu, která je namapovaná na stejnou sdílenou síťovou složku.

Pokud relaci PowerShellu zavřete a pak otevřete novou, jednotka PSDrive: je pryč a jednotka X: zůstane zachovaná. Proto při rozhodování, kterou metodu použít k mapování síťových jednotek, zvažte, jak budete jednotku používat, zda musí být trvalá a zda musí být jednotka viditelná pro jiné funkce Systému Windows.

Parametry

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

Určuje uživatelský účet, který má oprávnění k provedení této akce. Výchozí hodnota je aktuální uživatel.

Zadejte uživatelské jméno, například "User01" nebo "Domain01\User01", nebo zadejte PSCredential objekt, například objekt vygenerovaný rutinou Get-Credential. Pokud zadáte uživatelské jméno, tato rutina vás vyzve k zadání hesla.

Počínaje windows PowerShellem 3.0 je hodnota parametru Root cesta UNC, můžete k vytvoření jednotek systému souborů použít přihlašovací údaje. Tento parametr nepodporuje všichni poskytovatelé PowerShellu.

Typ:PSCredential
Position:Named
Default value:Current user
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Description

Určuje stručný textový popis jednotky. Zadejte libovolný řetězec.

Pokud chcete zobrazit popisy všech jednotek v relaci, zadejte Get-PSDrive | Format-Table Name, Description. Pokud chcete zobrazit popis určitých jednotek, zadejte (Get-PSDrive \<DriveName\>).Description.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje název nové jednotky. U trvalých namapovaných síťových jednotek zadejte písmeno jednotky. Pro dočasné jednotky PowerShellu zadejte libovolný platný řetězec; nejste omezeni písmeny jednotek.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Persist

Označuje, že tato rutina vytvoří namapovanou síťovou jednotku windows. Mapované síťové jednotky se ukládají ve Windows na místním počítači. Jsou trvalé, ne specifické pro relaci a dají se zobrazit a spravovat v Průzkumníkovi souborů a dalších nástrojích.

Když příkaz vymešíte místně, tzn. bez tečkování, parametr Persist neuchová vytvoření PSDrive nad rámec, ve kterém příkaz spouštíte. Pokud spustíte New-PSDrive uvnitř skriptu a chcete, aby nová jednotka trvale trvala, je nutné skript vytvořit tečkou. Nejlepších výsledků dosáhnete tak, že pokud chcete vynutit zachování nové jednotky, zadejte jako hodnotu parametru Scope kromě přidání parametru Zachovat do příkazu.

Název jednotky musí být písmeno, například D nebo E. Hodnota parametru Root musí být cesta UNC jiného počítače. Hodnota parametru PSProvider musí být FileSystem.

K odpojení namapované síťové jednotky systému Windows použijte rutinu Remove-PSDrive. Když odpojíte namapovanou síťovou jednotku systému Windows, mapování se trvale odstraní z počítače, nikoli pouze z aktuální relace.

Mapované síťové jednotky jsou specifické pro uživatelský účet. Mapované jednotky vytvořené ve zvýšených relacích nebo relacích používajících přihlašovací údaje jiného uživatele nejsou viditelné v relacích, které začaly používat jiné přihlašovací údaje.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PSProvider

Určuje zprostředkovatele PowerShellu, který podporuje jednotky tohoto typu.

Pokud je například jednotka přidružená ke sdílené síťové složce nebo adresáři systému souborů, zprostředkovatel PowerShellu je FileSystem. Pokud je jednotka přidružená k klíči registru, poskytovatel je Registr.

Dočasné jednotky PowerShellu je možné přidružit k libovolnému poskytovateli PowerShellu. Mapované síťové jednotky lze přidružit pouze k poskytovateli fileSystem.

Pokud chcete zobrazit seznam zprostředkovatelů v relaci PowerShellu, použijte rutinu Get-PSProvider.

Typ:String
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Root

Určuje umístění úložiště dat, na které se mapuje jednotka PowerShellu.

Zadejte například sdílenou síťovou složku, například \\Server01\Public, místní adresář, například C:\Program Files nebo klíč registru, například HKLM:\Software\Microsoft.

Dočasné jednotky PowerShellu je možné přidružit k místnímu nebo vzdálenému umístění na libovolné podporované jednotce poskytovatele. Mapované síťové jednotky lze přidružit pouze k umístění systému souborů ve vzdáleném počítači.

Typ:String
Position:2
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Scope

Určuje rozsah jednotky. Přijatelné hodnoty pro tento parametr jsou: Global, Local a Script nebo číslo relativní k aktuálnímu oboru. Rozsahy číslo 0 až počet oborů. Aktuální číslo oboru je 0 a nadřazené číslo je 1. Další informace najdete v tématu about_Scopes.

Typ:String
Position:Named
Default value:Local
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-UseTransaction

Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

PSDriveInfo

Poznámky

  • New-PSDrive je navržená tak, aby fungovala s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných ve vaší relaci, použijte Get-PSProvider. Další informace o poskytovateli naleznete v tématu about_Providers.
  • Mapované síťové jednotky jsou specifické pro uživatelský účet. Mapované jednotky vytvořené ve zvýšených relacích nebo relacích používajících přihlašovací údaje jiného uživatele nejsou viditelné v relacích, které začaly používat jiné přihlašovací údaje.