New-PSDrive
Erstellt temporäre und persistente zugeordnete Netzlaufwerke.
Syntax
Default (Standard)
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Beschreibung
Das Cmdlet New-PSDrive erstellt temporäre und persistente Laufwerke, die einem Speicherort in einem Datenspeicher zugeordnet oder zugeordnet sind, z. B. einem Netzlaufwerk, einem Verzeichnis auf dem lokalen Computer oder einem Registrierungsschlüssel und dauerhaft zugeordneten Windows-Netzlaufwerken, die einem Dateisystemspeicherort auf einem Remotecomputer zugeordnet sind.
Temporäre Laufwerke sind nur in der aktuellen PowerShell-Sitzung und in Sitzungen vorhanden, die Sie in der aktuellen Sitzung erstellen.
Sie können einen beliebigen Namen haben, der in PowerShell gültig ist und jeder lokalen oder Remoteressource zugeordnet werden kann.
Sie können temporäre PowerShell-Laufwerke verwenden, um auf Daten im zugeordneten Datenspeicher zuzugreifen, genau wie bei jedem zugeordneten Netzlaufwerk.
Sie können den Speicherort des Laufwerks mit Set-Location, cd oder chdir ändern und mit , Get-Itemoder Get-ChildItem auf den Inhalt des Laufwerks zugreifen.
Da temporäre Laufwerke jedoch nur PowerShell bekannt sind, können Sie nicht mithilfe des Datei-Explorers, der Windows-Verwaltungsinstrumentation (WMI), des Component Object Model (COM) oder des Microsoft .NET Framework oder mithilfe von Tools wie Net Use darauf zugreifen.
Die folgenden Features wurden in Windows PowerShell 3.0 hinzugefügt New-PSDrive :
- Zugeordnete Netzlaufwerke.
Sie können den Parameter Persist von
New-PSDriveverwenden, um windows-zugeordnete Netzwerklaufwerke zu erstellen. Im Gegensatz zu temporären PowerShell-Laufwerken sind zugeordnete Windows-Netzlaufwerke nicht sitzungsspezifisch. Sie werden in Windows gespeichert und können mit Windows-Standardtools wie dem Datei-Explorer und Net Use verwaltet werden. Zugeordnete Netzwerklaufwerke müssen über einen Laufwerkbuchstabennamen verfügen und an einen Remotedateisystemspeicherort angeschlossen sein. Wenn der Befehl lokal begrenzt ist (keine Dot-Sourcing), behält der Persist-Parameter die Erstellung eines PSDrive nicht über den Bereich hinaus bei, in dem der Befehl ausgeführt wird. Wenn Sie in einem Skript ausgeführtNew-PSDrivewerden und das Laufwerk auf unbestimmte Zeit beibehalten werden soll, müssen Sie das Skript mit einem Dot-Source-Skript versehen. Um zu erzwingen, dass ein neues Laufwerk auf unbestimmte Zeit beibehalten wird, fügen Sie dem Befehl den Parameter Scope hinzu, und legen Sie dessen Wert auf Global fest, um zu erzwingen, dass es auf unbestimmte Zeit beibehalten wird. - Externe Laufwerke. Wenn ein externes Laufwerk mit dem Computer verbunden ist, fügt PowerShell dem Dateisystem, das das neue Laufwerk darstellt, automatisch eine PSDrive- hinzu. Sie müssen PowerShell nicht neu starten. Wenn ein externes Laufwerk vom Computer getrennt wird, löscht PowerShell automatisch die PSDrive-, die das entfernte Laufwerk darstellt.
- Anmeldeinformationen für UNC-Pfade.
Wenn es sich bei dem Wert des Parameters Root um einen UNC-Pfad handelt, z. B. \\Server\Share, werden die Anmeldeinformationen, die im Wert des Parameters Credential angegeben sind, zum Erstellen von PSDrive verwendet. Andernfalls ist die Berechtigung nicht wirksam, wenn Sie neue Dateisystemlaufwerke erstellen.
Beispiele
Beispiel 1: Erstellen eines Laufwerks, das einer Netzwerkfreigabe zugeordnet ist
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
P FileSystem \\Server01\Public
Mit diesem Befehl wird ein temporäres PowerShell-Laufwerk mit dem Namen P: erstellt, das der Netzwerkfreigabe \\Server01\Public zugeordnet ist.
Er verwendet den Name-Parameter, um einen Namen für das Laufwerk anzugeben, den PSProvider-Parameter , um den PowerShell-Dateisystemanbieter anzugeben, und den Root-Parameter , um die Netzwerkfreigabe anzugeben.
Wenn der Befehl abgeschlossen ist, wird der Inhalt der Freigabe \\Server01\Public auf Laufwerk P: angezeigt.
Um sie anzuzeigen, geben Sie Folgendes ein: dir P:.
Beispiel 2: Erstellen eines temporären Laufwerks
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
Mit diesem Befehl wird ein temporäres PowerShell-Laufwerk erstellt, das schnellen Zugriff auf ein lokales Verzeichnis ermöglicht. Es wird ein Laufwerk mit dem Namen MyDocs: erstellt, das dem Verzeichnis "C:\Dokumente und Einstellungen\User01\Eigene Dateien" auf dem lokalen Computer zugeordnet ist.
Er verwendet Name , um einen Namen für das Laufwerk anzugeben, PSProvider , um den PowerShell-Dateisystemanbieter anzugeben, Root , um den Pfad des Ordners Eigene Dateien anzugeben, und den Description-Parameter , um eine Beschreibung des Laufwerks zu erstellen.
Wenn der Befehl abgeschlossen ist, wird der Inhalt des Ordners "Eigene Dateien" auf dem MyDocs: Laufwerk angezeigt.
Um sie anzuzeigen, geben Sie Folgendes ein: dir MyDocs:.
Beispiel 3: Erstellen eines Laufwerks für einen Registrierungsschlüssel
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo...
Mit diesem Befehl wird ein temporäres PowerShell-Laufwerk erstellt, das schnellen Zugriff auf einen häufig überprüften Registrierungsschlüssel bietet.
Es erstellt ein Laufwerk mit dem Namen "MyCompany", das dem HKLM\Software\MyCompany Registrierungsschlüssel zugeordnet ist.
Es verwendet Name , um einen Namen für das Laufwerk anzugeben, PSProvider , um den PowerShell-Registrierungsanbieter anzugeben, und Root , um den Registrierungsschlüssel anzugeben.
Wenn der Befehl abgeschlossen ist, wird der Inhalt des Schlüssels MyCompany auf dem MyCompany: Laufwerk angezeigt.
Um sie anzuzeigen, geben Sie Folgendes ein: dir MyCompany:.
Beispiel 4: Erstellen eines persistenten zugeordneten Netzlaufwerks
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use
Status Local Remote Network
---------------------------------------------------------
OK S: \\Server01\Scripts Microsoft Windows Network
Mit diesem Befehl wird das zugeordnete Netzlaufwerk "S" auf dem lokalen Computer erstellt. Das Laufwerk 'S' wird der Netzwerkfreigabe \\Server01\Scripts zugeordnet.
Mit dem Befehl New-PSDrive wird das zugeordnete Netzlaufwerk erstellt.
Es verwendet Persist, um ein Windows zugeordnetes Netzlaufwerk zu erstellen, das auf dem lokalen Computer gespeichert wird.
Der Befehl verwendet Name , um einen Buchstabennamen anzugeben, den Windows akzeptiert, und Root , um einen Speicherort auf einem Remotecomputer anzugeben. Es verwendet PSProvider , um den FileSystem-Anbieter anzugeben.
Das resultierende Laufwerk kann in anderen PowerShell-Sitzungen auf dem lokalen Computer, in Windows Explorer und in anderen Tools wie Net Use angezeigt werden.
Beispiel 5: Erstellen dauerhafter und temporärer Laufwerke
# 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
In diesem Beispiel wird der Unterschied zwischen einem dauerhaft zugeordneten Netzlaufwerk und einem temporären PowerShell-Laufwerk gezeigt, das derselben Netzwerkfreigabe zugeordnet ist.
Wenn Sie die PowerShell-Sitzung schließen und dann eine neue öffnen, ist das Laufwerk PSDrive: verschwunden, und das X: Laufwerk bleibt erhalten. Berücksichtigen Sie daher bei der Entscheidung, welche Methode zum Zuordnen von Netzlaufwerken verwendet werden soll, wie Sie das Laufwerk verwenden, ob es persistent sein muss und ob das Laufwerk für andere Windows-Funktionen sichtbar sein muss.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential--Objekt ein, z. B. ein objekt, das vom Cmdlet Get-Credential generiert wurde.
Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.
Ab Windows PowerShell 3.0 können Sie, wenn der Wert des Root-Parameters ein UNC-Pfad ist, Anmeldeinformationen verwenden, um Dateisystemlaufwerke zu erstellen. Dieser Parameter wird nicht von allen PowerShell-Anbietern unterstützt.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Description
Gibt eine kurze Textbeschreibung des Laufwerks an. Geben Sie eine beliebige Zeichenfolge ein.
Um die Beschreibungen aller Laufwerke in der Sitzung anzuzeigen, geben Sie Get-PSDrive | Format-Table Name, Descriptionein.
Um die Beschreibung eines bestimmten Laufwerks anzuzeigen, geben Sie (Get-PSDrive \<DriveName\>).Description.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt einen Namen für das neue Laufwerk an. Geben Sie für persistent zugeordnete Netzlaufwerke einen Laufwerksbuchstaben ein. Geben Sie für temporäre PowerShell-Laufwerke eine beliebige gültige Zeichenfolge ein. Sie sind nicht auf Laufwerksbuchstaben beschränkt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Persist
Gibt an, dass dieses Cmdlet ein zugeordnetes Windows-Netzlaufwerk erstellt. Zugeordnete Netzwerklaufwerke werden unter Windows auf dem lokalen Computer gespeichert. Sie sind persistent, nicht sitzungsspezifisch und können im Datei-Explorer und anderen Tools angezeigt und verwaltet werden.
Wenn Sie den Bereich des Befehls lokal festlegen, d. h. ohne Dotsourcing, behält der Persist-Parameter die Erstellung einer PSDrive nicht über den Bereich hinaus bei, in dem Sie den Befehl ausführen.
Wenn Sie New-PSDrive in einem Skript ausführen und das neue Laufwerk unbegrenzt beibehalten werden soll, müssen Sie das Skript mit Punktquelle erstellen.
Um die Beibehaltung eines neuen Laufwerks zu erzwingen, geben Sie Global als Wert des Scope-Parameters an, und fügen Sie dem Befehl Persist hinzu.
Der Name des Laufwerks muss ein Buchstabe sein, z. B. "D" oder "E". Der Wert von Root Parameter muss ein UNC-Pfad eines anderen Computers sein. Der Wert des Parameters PSProvider muss FileSystem sein.
Verwenden Sie zum Trennen eines zugeordneten Windows-Netzlaufwerks das cmdlet Remove-PSDrive.
Wenn Sie ein zugeordnetes Windows-Netzlaufwerk trennen, wird die Zuordnung endgültig vom Computer gelöscht, nicht nur aus der aktuellen Sitzung gelöscht.
Zugeordnete Netzwerklaufwerke sind spezifisch für ein Benutzerkonto. Zugeordnete Laufwerke, die in Sitzungen mit erhöhten Rechten oder in Sitzungen mit den Anmeldeinformationen eines anderen Benutzers erstellt wurden, sind in Sitzungen, die mit anderen Anmeldeinformationen gestartet wurden, nicht sichtbar.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-PSProvider
Gibt den PowerShell-Anbieter an, der Laufwerke dieser Art unterstützt.
Wenn das Laufwerk z. B. einer Netzwerkfreigabe oder einem Dateisystemverzeichnis zugeordnet ist, ist der PowerShell-Anbieter FileSystem. Wenn das Laufwerk mit einem Registrierungsschlüssel verknüpft ist, ist der Anbieter Registrierung.
Temporäre PowerShell-Laufwerke können jedem Beliebigen PowerShell-Anbieter zugeordnet werden. Zugeordnete Netzlaufwerke können nur dem Dateisystemanbieter zugeordnet werden.
Um eine Liste der Anbieter in Ihrer PowerShell-Sitzung anzuzeigen, verwenden Sie das cmdlet Get-PSProvider.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Root
Gibt den Datenspeicherort an, dem ein PowerShell-Laufwerk zugeordnet ist.
Geben Sie z. B. eine Netzwerkfreigabe an, z. B. \\Server01\Public, ein lokales Verzeichnis, z. B. C:\Programme, oder einen Registrierungsschlüssel, z. B. HKLM:\Software\Microsoft.
Temporäre PowerShell-Laufwerke können einem lokalen oder Remotespeicherort auf jedem unterstützten Anbieterlaufwerk zugeordnet werden. Zugeordnete Netzwerklaufwerke können nur einem Dateisystemspeicherort auf einem Remotecomputer zugeordnet werden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 2 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Scope
Gibt einen Bereich für das Laufwerk an. Die zulässigen Werte für diesen Parameter sind: Global, Lokal und Script oder eine Zahl relativ zum aktuellen Bereich. Bereiche nummer 0 bis zur Anzahl der Bereiche. Die aktuelle Bereichsnummer ist 0, und das übergeordnete Element ist 1. Weitere Informationen finden Sie unter about_Scopes.
Parametereigenschaften
| Typ: | String |
| Standardwert: | Local |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-UseTransaction
Enthält den Befehl in der aktiven Transaktion. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | usetx |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
PSDriveInfo
Hinweise
-
New-PSDriveist für die Arbeit mit den daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Verwenden SieGet-PSProvider, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen zu Anbietern finden Sie unter about_Providers. - Zugeordnete Netzwerklaufwerke sind spezifisch für ein Benutzerkonto. Zugeordnete Laufwerke, die in Sitzungen mit erhöhten Rechten oder in Sitzungen mit den Anmeldeinformationen eines anderen Benutzers erstellt wurden, sind in Sitzungen, die mit anderen Anmeldeinformationen gestartet wurden, nicht sichtbar.