Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato ukázka platí jenom pro platformy Windows.
jednotka PowerShellu je umístění úložiště dat, ke kterému můžete přistupovat jako k jednotce systému souborů v PowerShellu. Poskytovatelé PowerShellu vytvářejí pro vás některé jednotky, například jednotky systému souborů (včetně C:
a D:
), jednotky registru (HKCU:
a HKLM:
) a jednotku certifikátu (Cert:
) a můžete vytvořit vlastní jednotky PowerShellu. Tyto jednotky jsou užitečné, ale jsou dostupné jenom v PowerShellu. K nim nemůžete získat přístup pomocí jiných nástrojů systému Windows, jako je Průzkumník souborů nebo Cmd.exe
.
PowerShell používá pro příkazy, které pracují s jednotkami PowerShellu, podstatné jméno PSDrive. Seznam jednotek PowerShellu ve své relaci PowerShellu zobrazíte pomocí rutiny 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
I když se jednotky zobrazené na displeji liší od jednotek ve vašem systému, měly by vaše jednotky vypadat podobně jako výstup příkazu Get-PSDrive
uvedený výše.
Jednotky souborového systému jsou podmnožinou jednotek PowerShellu. Jednotky systému souborů můžete identifikovat položkou FileSystem ve sloupci Zprostředkovatel. Jednotky systému souborů v PowerShellu jsou podporovány zprostředkovatelem PowerShell FileSystem.
Pokud chcete zobrazit syntaxi rutiny Get-PSDrive
, zadejte příkaz Get-Command
s parametrem Syntax.
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>]
Parametr PSProvider umožňuje zobrazit pouze jednotky PowerShellu podporované konkrétním poskytovatelem. Pokud chcete například zobrazit jenom jednotky PowerShellu podporované poskytovatelem systému souborů PowerShellu, zadejte příkaz Get-PSDrive
s parametrem PSProvider a hodnotou FileSystem:
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Pokud chcete zobrazit jednotky PowerShellu, které představují podregistry registru, pomocí parametru PSProvider zobrazte pouze jednotky PowerShellu podporované poskytovatelem registru PowerShellu:
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Také můžete použít standardní příkazy umístění s jednotkami PowerShellu:
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Přidání nových disků PowerShellu
Vlastní disky PowerShell můžete přidat pomocí příkazu New-PSDrive
. Pokud chcete získat syntaxi příkazu New-PSDrive
, zadejte příkaz Get-Command
s parametrem Syntaxe:
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]
Pokud chcete vytvořit novou jednotku PowerShellu, musíte zadat tři parametry:
- Název jednotky (můžete použít jakýkoli platný název v PowerShellu)
- PsProvider – použití
FileSystem
pro umístění systému souborů aRegistry
pro umístění registru - Kořen, tedy cesta ke kořenovému adresáři nové jednotky
Můžete například vytvořit jednotku s názvem Office
, namapovanou na složku, která obsahuje aplikace Microsoft Office na vašem počítači, například C:\Program Files\MicrosoftOffice\OFFICE11
.
Pokud chcete vytvořit jednotku, zadejte následující příkaz:
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Poznámka:
Obecně platí, že cesty nerozlišují malá a velká písmena.
K jednotce PowerShellu se přistupuje pomocí názvu následovaného dvojtečkou (:
).
Jednotka PowerShellu může mnohem zjednodušit mnoho úloh. Například některé z nejdůležitějších klíčů v registru Windows mají extrémně dlouhé cesty, což je těžkopádné pro přístup a obtížně zapamatovatelné. Důležité informace o konfiguraci se nacházejí v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Pokud chcete zobrazit a změnit položky v klíči registru CurrentVersion, můžete vytvořit jednotku PowerShellu, která bude zakořeněná v tomto klíči zadáním:
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Umístění pak můžete změnit na cvkey: jednotku stejně jako jakoukoli jinou jednotku:
cd cvkey:
nebo:
Set-Location cvkey: -PassThru
Path
----
cvkey:\
Rutina New-PSDrive
přidá novou jednotku pouze do aktuální relace PowerShell. Pokud zavřete okno PowerShellu, nová jednotka se ztratí. Pokud chcete uložit jednotku PowerShellu, použijte rutinu Export-Console
k exportu aktuální relace PowerShellu a pak k importu použijte parametr powershell.exe
PSConsole File. Nebo přidejte novou jednotku do profilu Windows PowerShellu.
Odstranění jednotek PowerShellu
Jednotky můžete z PowerShellu odstranit pomocí rutiny Remove-PSDrive
. Pokud jste například přidali jednotku Office:
PowerShell, jak je znázorněno v tématu New-PSDrive
, můžete ji odstranit zadáním:
Remove-PSDrive -Name Office
Pokud chcete odstranit cvkey:
jednotku PowerShellu, použijte následující příkaz:
Remove-PSDrive -Name cvkey
Nemůžete ho ale odstranit, když jste v jednotce. Například:
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
Přidávání a odebírání disků vně PowerShell
PowerShell detekuje jednotky systému souborů, které jsou přidány nebo odebrány ve Windows, včetně následujících:
- síťové jednotky, které jsou namapované
- Připojené usb disky
- Jednotky, které jsou odstraněny pomocí příkazu
net use
nebo ze skriptu WSH (Windows Script Host)