Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här exemplet gäller endast för Windows-plattformar.
En PowerShell-enhet är en datalagerplats som du kan komma åt som en filsystemenhet i PowerShell. PowerShell-leverantörerna skapar några enheter åt dig, till exempel filsystemenheterna (inklusive C: och D:), registerenheterna (HKCU: och HKLM:) och certifikatenheten (Cert:), och du kan skapa egna PowerShell-enheter. De här enheterna är användbara, men de är bara tillgängliga i PowerShell. Du kan inte komma åt dem med andra Windows-verktyg, till exempel Utforskaren eller Cmd.exe.
PowerShell använder substantivet PSDrive för kommandon som fungerar med PowerShell-enheter. För att få en lista över PowerShell-enheterna i din PowerShell-session, använd cmdleten Get-PSDrive.
Get-PSDrive
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
Alias Alias
C FileSystem C:\ ...And Settings\me
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Även om enheterna i displayen varierar med enheterna i systemet, bör dina se ut ungefär som utdata från kommandot Get-PSDrive som visas ovan.
filesystem-enheter är en delmängd av PowerShell-enheterna. Du kan identifiera enheterna i filsystemet med posten FileSystem i Provider-kolumnen. Filsystemenheterna i PowerShell stöds av PowerShell FileSystem-providern.
Om du vill se cmdletens Get-PSDrive syntax skriver du ett Get-Command kommando med syntaxparametern:
Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]
Med parametern PSProvider kan du endast visa de PowerShell-enheter som stöds av en viss provider. Om du till exempel bara vill visa de PowerShell-enheter som stöds av PowerShell FileSystem-providern skriver du ett Get-PSDrive kommando med parametern PSProvider och FileSystem-värdet :
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Om du vill visa de PowerShell-enheter som representerar registergrenar använder du parametern PSProvider för att endast visa de PowerShell-enheter som stöds av PowerShell-registerleverantören:
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Du kan också använda standard-plats-cmdletar med PowerShell-enheterna:
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Lägga till nya PowerShell-enheter
Du kan lägga till egna PowerShell-enheter med hjälp av New-PSDrive-kommandot. Om du vill hämta syntaxen New-PSDrive för kommandot anger du Get-Command kommandot med syntaxparametern:
Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]
Om du vill skapa en ny PowerShell-enhet måste du ange tre parametrar:
- Ett namn på enheten (du kan använda valfritt giltigt PowerShell-namn)
- PSProvider – används
FileSystemför filsystemplatser ochRegistryför registerplatser - Roten, det vill säga sökvägen till roten på den nya enheten
Du kan till exempel skapa en enhet med namnet Office som är mappad till mappen som innehåller Microsoft Office-programmen på datorn, till exempel C:\Program Files\MicrosoftOffice\OFFICE11.
För att skapa enheten, skriv följande kommando:
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Anmärkning
Generellt sett är sökvägar inte skiftlägeskänsliga.
En PowerShell-enhet nås med dess namn följt av ett kolon (:).
En PowerShell-disk kan göra många uppgifter mycket enklare. Till exempel har några av de viktigaste nycklarna i Windows-registret extremt långa vägar, vilket gör dem besvärliga att komma åt och svåra att komma ihåg. Viktig konfigurationsinformation finns under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Om du vill visa och ändra objekt i registernyckeln CurrentVersion kan du skapa en PowerShell-enhet som är rotad i den nyckeln genom att skriva:
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Du kan sedan ändra plats till cvkey: -enheten på samma sätt som andra enheter:
cd cvkey:
eller:
Set-Location cvkey: -PassThru
Path
----
cvkey:\
Cmdleten New-PSDrive lägger bara till den nya enheten i den aktuella PowerShell-sessionen. Om du stänger PowerShell-fönstret går den nya enheten förlorad. Om du vill spara en PowerShell-enhet använder du cmdleten Export-Console för att exportera den aktuella PowerShell-sessionen och använder sedan parametern powershell.exePSConsoleFile för att importera den. Du kan också lägga till den nya enheten i din Windows PowerShell-profil.
Ta bort PowerShell-enheter
Du kan ta bort enheter från PowerShell med hjälp av cmdleten Remove-PSDrive . Om du till exempel har lagt till Office: PowerShell-enheten, som du ser i avsnittet New-PSDrive, kan du ta bort den genom att skriva:
Remove-PSDrive -Name Office
Om du vill ta bort cvkey: PowerShell-enheten använder du följande kommando:
Remove-PSDrive -Name cvkey
Du kan dock inte ta bort den när du är på enheten. Till exempel:
cd office:
Remove-PSDrive -Name Office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ Remove-PSDrive <<<< -Name Office
Lägga till och ta bort enheter utanför PowerShell
PowerShell identifierar filsystemenheter som läggs till eller tas bort i Windows, inklusive:
- nätverksenheter som är mappade
- USB-enheter som är anslutna
- Enheter som raderas med kommandot
net useeller från ett Windows Script Host (WSH)-skript