New-PSDrive
Erstellt temporäre und permanente zugeordnete Netzwerklaufwerke.
Syntax
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Beschreibung
Das New-PSDrive
Cmdlet erstellt temporäre und persistente Laufwerke, die einem Speicherort in einem Datenspeicher zugeordnet oder zugeordnet sind, z. B. einem Netzwerklaufwerk, einem Verzeichnis auf dem lokalen Computer oder einem Registrierungsschlüssel, sowie dauerhaft zugeordneten Windows-Netzwerklaufwerken, 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 Netzwerklaufwerk.
Sie können die Speicherorte in das Laufwerk ändern Set-Location
, indem Sie , cd oder chdir verwenden und mit Get-Item
, Get-ChildItem
oder dir auf den Inhalt des Laufwerks zugreifen.
Da temporäre Laufwerke jedoch nur PowerShell bekannt sind, können Sie nicht mit Explorer, Windows Management Instrumentation (WMI), Component Object Model (COM) oder dem Microsoft .NET Framework oder mit Tools wie Net Use darauf zugreifen.
Die folgenden Features werden in Windows PowerShell 3.0 hinzugefügtNew-PSDrive
:
- Zugeordnete Netzlaufwerke.
Sie können den Persist-Parameter von
New-PSDrive
verwenden, um zugeordnete Windows-Netzwerklaufwerke zu erstellen. Im Gegensatz zu temporären PowerShell-Laufwerken sind windows zugeordnete Netzwerklaufwerke nicht sitzungsspezifisch. Sie werden in Windows gespeichert und können mithilfe von Windows-Standardtools wie Explorer und Net Use verwaltet werden. Zugeordnete Netzwerklaufwerke müssen einen Laufwerkbuchstaben aufweisen und mit einem Remotedateisystem-Speicherort verbunden sein. Wenn Ihr Befehl lokal festgelegt ist (kein Punktsourcing), behält der Persist-Parameter die Erstellung eines PSDrive-Laufwerks nicht über den Bereich hinaus, in dem der Befehl ausgeführt wird. Wenn Sie innerhalb eines Skripts ausgeführtNew-PSDrive
werden und das Laufwerk unbegrenzt beibehalten werden soll, müssen Sie das Skript mit Einem Punkt aus der Quelle beziehen. Um zu erzwingen, dass ein neues Laufwerk unbegrenzt beibehalten wird, fügen Sie dem Befehl den Parameter Scope hinzu, und legen Sie seinen Wert auf Global fest. - Externe Laufwerke. Wenn ein externes Laufwerk mit dem Computer verbunden ist, fügt PowerShell dem Dateisystem automatisch ein PSDrive hinzu, das das neue Laufwerk darstellt. Sie müssen PowerShell nicht neu starten. Wenn ein externes Laufwerk vom Computer getrennt wird, löscht PowerShell automatisch das PSDrive , das das entfernte Laufwerk darstellt.
- Anmeldeinformationen für UNC-Pfade.
Wenn der Wert des Root-Parameters ein UNC-Pfad ist, z. B. \\Server\Share, werden die im Wert des Credential-Parameters angegebenen Anmeldeinformationen verwendet, um das PSDrive zu erstellen. Andernfalls sind Anmeldeinformationen nicht wirksam, wenn Sie neue Dateisystemlaufwerke erstellen.
Beispiele
Beispiel 1: Create 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 namens P erstellt, das der Netzwerkfreigabe \\Server01\Public zugeordnet ist.
Sie verwendet den Parameter Name , um einen Namen für das Laufwerk anzugeben, den PSProvider-Parameter zum Angeben des PowerShell-FileSystem-Anbieters und den Root-Parameter , um die Netzwerkfreigabe anzugeben.
Nach Abschluss des Befehls wird der Inhalt der Freigabe \\Server01\Public im Laufwerk P: angezeigt.
Geben Sie Folgendes ein, um sie anzuzeigen. dir P:
Beispiel 2: Create 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. Mit dem Befehl wird ein Laufwerk mit dem Namen %%amp;quot;MyDocs:%%amp;quot; erstellt, das dem Verzeichnis %%amp;quot;Documents and Settings\User01\My Documents%%amp;quot; auf dem lokalen Computer zugeordnet ist.
Es verwendet Name , um einen Namen für das Laufwerk anzugeben, PSProvider zum Angeben des PowerShell-FileSystem-Anbieters, Root zum Angeben des Pfads des Ordners "Eigene Dateien" 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.
Geben Sie Folgendes ein, um sie anzuzeigen. dir MyDocs:
Beispiel 3: Create 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 ermöglicht.
Es erstellt ein Laufwerk namens MyCompany, das dem HKLM\Software\MyCompany
Registrierungsschlüssel zugeordnet ist.
Sie verwendet Name , um einen Namen für das Laufwerk anzugeben, PSProvider zum Angeben des PowerShell-Registrierungsanbieters und Root , um den Registrierungsschlüssel anzugeben.
Wenn der Befehl abgeschlossen ist, wird der Inhalt der MyCompany-Taste auf dem MyCompany:
Laufwerk angezeigt.
Geben Sie Folgendes ein, um sie anzuzeigen. dir MyCompany:
Beispiel 4: Create eines dauerhaft zugeordneten Netzwerklaufwerks
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 Netzwerklaufwerk "S" auf dem lokalen Computer erstellt. Das Laufwerk "S" ist der Netzwerkfreigabe \\Server01\Scripts zugeordnet.
Der Befehl verwendet New-PSDrive
, um das zugeordnete Netzwerklaufwerk zu erstellen.
Es wird Persist verwendet, um ein windows zugeordnetes Netzwerklaufwerk 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: Create persistente und temporäre 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
Dieses Beispiel zeigt den Unterschied zwischen einem persistent zugeordneten Netzwerklaufwerk und einem temporären PowerShell-Laufwerk, 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 Netzwerklaufwerken verwendet werden soll, wie Sie das Laufwerk verwenden, ob es persistent sein muss und ob das Laufwerk für andere Windows-Features sichtbar sein muss.
Parameter
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. %%amp;quot;User01%%amp;quot; oder %%amp;quot;Domain01\User01%%amp;quot;, oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Get-Credential
-Cmdlet generiertes Objekt.
Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet zur Eingabe eines Kennworts aufgefordert.
Ab Windows PowerShell 3.0 können Sie anmeldeinformationen verwenden, wenn der Wert des Root-Parameters ein UNC-Pfad ist, um Dateisystemlaufwerke zu erstellen. Dieser Parameter wird nicht von allen PowerShell-Anbietern unterstützt.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Description
Gibt eine kurze Textbeschreibung des Laufwerks an. Geben Sie eine beliebige Zeichenfolge ein.
Geben Sie ein, um die Beschreibungen aller Laufwerke in der Sitzung Get-PSDrive | Format-Table Name, Description
anzuzeigen.
Geben Sie ein, (Get-PSDrive \<DriveName\>).Description
um die Beschreibung eines bestimmten Laufwerks anzuzeigen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Gibt einen Namen für das neue Laufwerk an. Geben Sie für permanente zugeordnete Netzwerklaufwerke einen Laufwerkbuchstaben ein. Geben Sie für temporäre PowerShell-Laufwerke eine beliebige gültige Zeichenfolge ein. Sie sind nicht auf Laufwerkbuchstaben beschränkt.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Persist
Gibt an, dass dieses Cmdlet ein zugeordnetes Windows-Netzwerklaufwerk erstellt. Zugeordnete Netzwerklaufwerke werden unter Windows auf dem lokalen Computer gespeichert. Sie sind permanent, nicht sitzungsspezifisch und können in Explorer und anderen Tools angezeigt und verwaltet werden.
Wenn Sie den Befehl lokal festlegen, d. h. ohne Punktsourcing, behält der Persist-Parameter die Erstellung eines PSDrive nicht über den Bereich hinaus, in dem Sie den Befehl ausführen.
Wenn Sie innerhalb eines Skripts ausgeführt New-PSDrive
werden und das neue Laufwerk unbegrenzt beibehalten werden soll, müssen Sie das Skript mit Einem Punkt aus dem Quelltext beziehen.
Um das Beibehalten 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 des Root-Parameters muss ein UNC-Pfad eines anderen Computers sein. Der Wert des PSProvider-Parameters muss %%amp;quot;FileSystem%%amp;quot; lauten.
Verwenden Sie zum Trennen einer Verbindung mit einem zugeordneten Windows-Netzwerklaufwerk das Cmdlet Remove-PSDrive
.
Wenn Sie die Verbindung mit einem zugeordneten Windows-Netzwerklaufwerk trennen, wird die Zuordnung dauerhaft vom Computer gelöscht, nicht nur aus der aktuellen Sitzung.
Zugeordnete Netzwerklaufwerke sind bestimmten Benutzerkonten zugeordnet. Zugeordnete Laufwerke, die in Sitzungen mit erhöhten Rechten oder Sitzungen mit den Anmeldeinformationen eines anderen Benutzers erstellt wurden, sind in Sitzungen, die mit unterschiedlichen Anmeldeinformationen gestartet wurden, nicht sichtbar.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSProvider
Gibt den PowerShell-Anbieter an, der Laufwerke dieser Art unterstützt.
Wenn das Laufwerk beispielsweise einer Netzwerkfreigabe oder einem Dateisystemverzeichnis zugeordnet ist, lautet der PowerShell-Anbieter FileSystem. Wenn das Laufwerk einem Registrierungsschlüssel zugeordnet ist, lautet der Anbieter Registrierung.
Temporäre PowerShell-Laufwerke können jedem PowerShell-Anbieter zugeordnet werden. Zugeordnete Netzwerklaufwerke können nur dem FileSystem-Anbieter zugeordnet werden.
Verwenden Sie das Get-PSProvider
Cmdlet, um eine Liste der Anbieter in Ihrer PowerShell-Sitzung anzuzeigen.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Root
Gibt den Datenspeicherspeicherort an, dem ein PowerShell-Laufwerk zugeordnet ist.
Geben Sie beispielsweise eine Netzwerkfreigabe wie \\Server01\Public, ein lokales Verzeichnis wie C:\Programme oder einen Registrierungsschlüssel wie HKLM:\Software\Microsoft an.
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 sein.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Gibt einen Bereich für das Laufwerk an. Die zulässigen Werte für diesen Parameter sind: Global, Local und Script oder eine Zahl relativ zum aktuellen Bereich. Bereiche nummer 0 durch die Anzahl der Bereiche. Die aktuelle Bereichsnummer ist 0 und das übergeordnete Element ist 1. Weitere Informationen finden Sie unter about_Scopes.
Type: | String |
Position: | Named |
Default value: | Local |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseTransaction
Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn gerade eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
Hinweise
New-PSDrive
ist für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten, verwenden SieGet-PSProvider
. Weitere Informationen zu Anbietern finden Sie unter about_Providers.- Zugeordnete Netzwerklaufwerke sind bestimmten Benutzerkonten zugeordnet. Zugeordnete Laufwerke, die in Sitzungen mit erhöhten Rechten oder Sitzungen mit den Anmeldeinformationen eines anderen Benutzers erstellt wurden, sind in Sitzungen, die mit unterschiedlichen Anmeldeinformationen gestartet wurden, nicht sichtbar.