New-PSDrive
Skapar tillfälliga och beständiga mappade nätverksenheter.
Syntax
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
Cmdleten New-PSDrive
skapar tillfälliga och beständiga enheter som mappas till eller associeras med en plats i ett datalager, till exempel en nätverksenhet, en katalog på den lokala datorn eller en registernyckel och beständiga Windows-mappade nätverksenheter som är associerade med en filsystemplats på en fjärrdator.
Tillfälliga enheter finns bara i den aktuella PowerShell-sessionen och i sessioner som du skapar i den aktuella sessionen.
De kan ha valfritt namn som är giltigt i PowerShell och kan mappas till valfri lokal resurs eller fjärrresurs.
Du kan använda tillfälliga PowerShell-enheter för att komma åt data i det associerade datalagret, precis som med alla mappade nätverksenheter.
Du kan ändra platser till enheten genom att använda Set-Location
, cdeller chdiroch komma åt innehållet på enheten med hjälp av Get-Item
, Get-ChildItem
eller dir.
Men eftersom tillfälliga enheter bara är kända för PowerShell kan du inte komma åt dem med hjälp av Utforskaren, Windows Management Instrumentation (WMI), Component Object Model (COM) eller Microsoft .NET Framework eller med hjälp av verktyg som Net Use.
Följande funktioner läggs till i New-PSDrive
i Windows PowerShell 3.0:
- Mappade nätverksenheter.
Du kan använda parametern Persist för
New-PSDrive
för att skapa Windows-mappade nätverksenheter. Till skillnad från tillfälliga PowerShell-enheter är Windows-mappade nätverksenheter inte sessionsspecifika. De sparas i Windows och de kan hanteras med vanliga Windows-verktyg, till exempel Utforskaren och Net Use. Mappade nätverksenheter måste ha ett enhetsbeteckningsnamn och vara anslutna till en fjärrplats för filsystemet. När kommandot är begränsat lokalt (ingen dot-sourcing) bevarar parametern Persist inte skapandet av en PSDrive- utanför omfånget där kommandot körs. Om du körNew-PSDrive
i ett skript, och du vill att enheten ska sparas på obestämd tid, måste du punktkälla skriptet. För bästa resultat, för att tvinga en ny enhet att bevaras på obestämd tid, lägger du till parametern Scope i kommandot och anger dess värde till Global. - Externa enheter. När en extern enhet är ansluten till datorn lägger PowerShell automatiskt till en PSDrive- till filsystemet som representerar den nya enheten. Du behöver inte starta om PowerShell. På samma sätt tar PowerShell automatiskt bort PSDrive- som representerar den borttagna enheten när en extern enhet kopplas från datorn.
- Autentiseringsuppgifter för UNC-sökvägar.
När värdet för parametern Root är en UNC-sökväg, till exempel \\Server\Share, används autentiseringsuppgifterna som anges i värdet för parametern Credential för att skapa PSDrive-. Annars är autentiseringsuppgifter inte effektiva när du skapar nya filsystemenheter.
Exempel
Exempel 1: Skapa en enhet som mappats till en nätverksresurs
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
P FileSystem \\Server01\Public
Det här kommandot skapar en tillfällig PowerShell-enhet med namnet P: som är mappad till resursen \\Server01\Offentligt nätverk.
Den använder parametern Name för att ange ett namn på enheten, parametern PSProvider för att ange PowerShell FileSystem-providern och parametern Root för att ange nätverksresursen.
När kommandot har slutförts visas innehållet i resursen \\Server01\Public på P:-enheten.
Om du vill se dem skriver du: dir P:
.
Exempel 2: Skapa en tillfällig enhet
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
Det här kommandot skapar en tillfällig PowerShell-enhet som ger snabb åtkomst till en lokal katalog. Den skapar en enhet med namnet MyDocs: som är mappad till katalogen "C:\Documents and Settings\User01\My Documents" på den lokala datorn.
Den använder Namn för att ange ett namn på enheten, PSProvider för att ange PowerShell FileSystem-providern, Root för att ange sökvägen till mappen Mina dokument och parametern Beskrivning för att skapa en beskrivning av enheten.
När kommandot har slutförts visas innehållet i mappen Mina dokument på MyDocs:
enheten.
Om du vill se dem skriver du: dir MyDocs:
.
Exempel 3: Skapa en enhet för en registernyckel
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo...
Det här kommandot skapar en tillfällig PowerShell-enhet som ger snabb åtkomst till en registernyckel som kontrolleras ofta.
Den skapar en enhet med namnet MyCompany som mappas till HKLM\Software\MyCompany
registernyckel.
Den använder Name för att ange ett namn på enheten, PSProvider för att ange PowerShell Registry-providern och Root för att ange registernyckeln.
När kommandot har slutförts visas innehållet i mycompany-nyckeln på MyCompany:
enheten.
Om du vill se dem skriver du: dir MyCompany:
.
Exempel 4: Skapa en sparad mappad nätverksenhet
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use
Status Local Remote Network
---------------------------------------------------------
OK S: \\Server01\Scripts Microsoft Windows Network
Det här kommandot skapar den S-mappade nätverksenheten på den lokala datorn. S-enheten mappas till nätverksresursen \\Server01\Scripts.
Kommandot använder New-PSDrive
för att skapa den mappade nätverksenheten.
Den använder Persist för att skapa en Windows-mappad nätverksenhet som sparas på den lokala datorn.
Kommandot använder Name för att ange ett bokstavsnamn som Windows accepterar och Root för att ange en plats på en fjärrdator. Den använder PSProvider- för att ange FileSystem-providern.
Den resulterande enheten kan visas i andra PowerShell-sessioner på den lokala datorn, i Utforskaren och i andra verktyg, till exempel Net Use.
Exempel 5: Skapa beständiga och tillfälliga enheter
# 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
Det här exemplet visar skillnaden mellan en beständig mappad nätverksenhet och en tillfällig PowerShell-enhet som är mappad till samma nätverksresurs.
Om du stänger PowerShell-sessionen och sedan öppnar en ny, är PSDrive:-enheten borta och den X:
enheten kvarstår. När du bestämmer vilken metod som ska användas för att mappa nätverksenheter bör du därför överväga hur du ska använda enheten, om den måste vara beständig och om enheten måste vara synlig för andra Windows-funktioner.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standardvärdet är den aktuella användaren.
Ange ett användarnamn, till exempel "User01" eller "Domain01\User01", eller ange ett PSCredential- objekt, till exempel ett som genereras av Get-Credential
cmdlet.
Om du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.
Från och med Windows PowerShell 3.0, när värdet för parametern Root är en UNC-sökväg, kan du använda autentiseringsuppgifter för att skapa filsystemenheter. Den här parametern stöds inte av alla PowerShell-leverantörer.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Description
Anger en kort textbeskrivning av enheten. Skriv valfri sträng.
Om du vill se beskrivningarna av alla enheter i sessionen skriver du Get-PSDrive | Format-Table Name, Description
.
Om du vill se beskrivningen av en viss enheter skriver du (Get-PSDrive \<DriveName\>).Description
.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Name
Anger ett namn på den nya enheten. För beständiga mappade nätverksenheter skriver du en enhetsbeteckning. För tillfälliga PowerShell-enheter skriver du valfri giltig sträng. du är inte begränsad till enhetsbeteckningar.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Persist
Anger att den här cmdleten skapar en Windows-mappad nätverksenhet. Mappade nätverksenheter sparas i Windows på den lokala datorn. De är beständiga, inte sessionsspecifika och kan visas och hanteras i Utforskaren och andra verktyg.
När du omfånget kommandot lokalt, dvs utan dot-sourcing, Spara parametern inte bevara skapandet av en PSDrive utanför omfånget där du kör kommandot.
Om du kör New-PSDrive
i ett skript och vill att den nya enheten ska sparas på obestämd tid måste du använda skriptet dot-source.
För bästa resultat anger du Global som värdet för parametern Scope och lägger till Persist i kommandot för att framtvinga att en ny enhet bevaras.
Namnet på enheten måste vara en bokstav, till exempel "D" eller "E". Värdet för parametern Root måste vara en UNC-sökväg för en annan dator. Värdet för parametern PSProvider måste vara FileSystem.
Om du vill koppla från en Windows-mappad nätverksenhet använder du cmdleten Remove-PSDrive
.
När du kopplar från en Windows-mappad nätverksenhet tas mappningen bort permanent från datorn, inte bara från den aktuella sessionen.
Mappade nätverksenheter är specifika för ett användarkonto. Mappade enheter som skapats i förhöjda sessioner eller sessioner med hjälp av en annan användares autentiseringsuppgifter visas inte i sessioner som startats med olika autentiseringsuppgifter.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-PSProvider
Anger den PowerShell-provider som stöder enheter av den här typen.
Om enheten till exempel är associerad med en nätverksresurs eller filsystemkatalog är PowerShell-providern FileSystem. Om enheten är associerad med en registernyckel är providern Register.
Tillfälliga PowerShell-enheter kan associeras med valfri PowerShell-provider. Mappade nätverksenheter kan endast associeras med FileSystem-providern.
Om du vill se en lista över leverantörerna i powershell-sessionen använder du cmdleten Get-PSProvider
.
Typ: | String |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Root
Anger den datalagerplats som en PowerShell-enhet mappas till.
Du kan till exempel ange en nätverksresurs, till exempel \\Server01\Public, en lokal katalog, till exempel C:\Program Files eller en registernyckel, till exempel HKLM:\Software\Microsoft.
Tillfälliga PowerShell-enheter kan associeras med en lokal eller fjärransluten plats på valfri providerenhet som stöds. Mappade nätverksenheter kan endast associeras med en filsystemplats på en fjärrdator.
Typ: | String |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Scope
Anger ett omfång för enheten. De godtagbara värdena för den här parametern är: Global, Lokal och Skript, eller ett tal i förhållande till det aktuella omfånget. Omfattningar nummer 0 genom antalet omfång. Det aktuella omfångsnumret är 0 och dess överordnade är 1. Mer information finns i about_Scopes.
Typ: | String |
Position: | Named |
Standardvärde: | Local |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.
Typ: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
Kommentarer
-
New-PSDrive
är utformat för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över de leverantörer som är tillgängliga i sessionen använder duGet-PSProvider
. Mer information om leverantörer finns i about_Providers. - Mappade nätverksenheter är specifika för ett användarkonto. Mappade enheter som skapats i förhöjda sessioner eller sessioner med hjälp av en annan användares autentiseringsuppgifter visas inte i sessioner som startats med olika autentiseringsuppgifter.