PowerShell-stations beheren

Dit voorbeeld is alleen van toepassing op Windows-platforms.

Een PowerShell-station is een locatie voor gegevensopslag die u kunt openen als een bestandssysteemstation in PowerShell. De PowerShell-providers maken enkele stations voor u, zoals de bestandssysteemstations (inclusief C: en D:), de registerstations (HKCU: en HKLM:) en het certificaatstation (Cert:), en u kunt uw eigen PowerShell-stations maken. Deze stations zijn nuttig, maar ze zijn alleen beschikbaar in PowerShell. U kunt ze niet openen met andere Windows-hulpprogramma's, zoals Bestandenverkenner of Cmd.exe.

PowerShell gebruikt het zelfstandig naamwoord PSDrive voor opdrachten die werken met PowerShell-stations. Gebruik de Get-PSDrive cmdlet voor een lijst met de PowerShell-stations in uw PowerShell-sessie.

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

Hoewel de stations in de weergave variƫren met de stations op uw systeem, moeten uw schijven er ongeveer uitzien als de uitvoer van de Get-PSDrive bovenstaande opdracht.

bestandssysteemstations vormen een subset van de PowerShell-stations. U kunt de bestandssysteemstations identificeren door de vermelding Bestandssysteem in de kolom Provider. De bestandssysteemstations in PowerShell worden ondersteund door de PowerShell-bestandssysteemprovider.

Als u de syntaxis van de Get-PSDrive cmdlet wilt zien, typt u een Get-Command opdracht met de parameter Syntaxis :

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>]

Met de parameter PSProvider kunt u alleen de PowerShell-stations weergeven die worden ondersteund door een bepaalde provider. Als u bijvoorbeeld alleen de PowerShell-stations wilt weergeven die worden ondersteund door de Provider van het PowerShell-bestandssysteem, typt u een Get-PSDrive opdracht met de parameter PSProvider en de waarde van het bestandssysteem :

Get-PSDrive -PSProvider FileSystem
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
C          FileSystem    C:\                           ...nd Settings\PowerUser
D          FileSystem    D:\

Als u de PowerShell-stations wilt weergeven die registerkasten vertegenwoordigen, gebruikt u de parameter PSProvider om alleen de PowerShell-stations weer te geven die worden ondersteund door de PowerShell-registerprovider:

Get-PSDrive -PSProvider Registry
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE

U kunt ook de standaardlocatie-cmdlets gebruiken met de PowerShell-stations:

Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft

Nieuwe PowerShell-stations toevoegen

U kunt uw eigen PowerShell-stations toevoegen met behulp van de New-PSDrive opdracht. Als u de syntaxis voor de New-PSDrive opdracht wilt ophalen, voert u de Get-Command opdracht in met de parameter Syntaxis :

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]

Als u een nieuw PowerShell-station wilt maken, moet u drie parameters opgeven:

  • Een naam voor het station (u kunt elke geldige PowerShell-naam gebruiken)
  • De PSProvider - gebruiken FileSystem voor bestandssysteemlocaties en Registry voor registerlocaties
  • De hoofdmap, dat wil gezegd, het pad naar de hoofdmap van het nieuwe station

U kunt bijvoorbeeld een station met de naam Office maken dat is toegewezen aan de map die de Microsoft-Office-app licaties op uw computer bevat, zoals C:\Program Files\MicrosoftOffice\OFFICE11. Typ de volgende opdracht om het station te maken:

New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...

Notitie

Over het algemeen zijn paden niet hoofdlettergevoelig.

Een PowerShell-station wordt geopend met behulp van de naam, gevolgd door een dubbele punt (:).

Een PowerShell-station kan veel eenvoudiger taken maken. Sommige van de belangrijkste sleutels in het Windows-register hebben bijvoorbeeld extreem lange paden, waardoor ze omslachtig zijn voor toegang en moeilijk te onthouden. Kritieke configuratie-informatie bevindt zich onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Als u items in de registersleutel CurrentVersion wilt weergeven en wijzigen, kunt u een PowerShell-station maken dat is geroot in die sleutel door het volgende te typen:

New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
cvkey      Registry      HKLM\Software\Microsoft\Windows\...

Vervolgens kunt u de locatie wijzigen in de cvkey: station zoals u ook zou doen:

cd cvkey:

of:

Set-Location cvkey: -PassThru
Path
----
cvkey:\

De New-PSDrive cmdlet voegt het nieuwe station alleen toe aan de huidige PowerShell-sessie. Als u het PowerShell-venster sluit, gaat het nieuwe station verloren. Als u een PowerShell-station wilt opslaan, gebruikt u de Export-Console cmdlet om de huidige PowerShell-sessie te exporteren en gebruikt u vervolgens de PowerShell.exeparameter PSConsoleFile om deze te importeren. Of voeg het nieuwe station toe aan uw Windows PowerShell-profiel.

PowerShell-stations verwijderen

U kunt stations uit PowerShell verwijderen met behulp van de Remove-PSDrive cmdlet. Als u bijvoorbeeld het Office: PowerShell-station hebt toegevoegd, zoals wordt weergegeven in het New-PSDrive onderwerp, kunt u het verwijderen door het volgende te typen:

Remove-PSDrive -Name Office

Gebruik de volgende opdracht om het cvkey: PowerShell-station te verwijderen:

Remove-PSDrive -Name cvkey

U kunt het echter niet verwijderen terwijl u zich in het station bevindt. Voorbeeld:

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

Stations buiten PowerShell toevoegen en verwijderen

PowerShell detecteert bestandssysteemstations die in Windows worden toegevoegd of verwijderd, waaronder:

  • netwerkstations die zijn toegewezen
  • USB-stations die zijn aangesloten
  • Stations die worden verwijderd met behulp van de net use opdracht of vanuit een WSH-script (Windows Script Host)