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 enRegistry
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.exe
parameter 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)