about_Providers
Krátký popis
Popisuje, jak zprostředkovatelé PowerShellu poskytují přístup k datům a komponentám, které by jinak nebyli snadno přístupné na příkazovém řádku. Data jsou prezentována v konzistentním formátu, který se podobá jednotce systému souborů.
Dlouhý popis
Poskytovatelé PowerShellu jsou programy .NET, které poskytují přístup ke specializovaným úložištům dat pro snadnější prohlížení a správu. Data se zobrazí na jednotce a k datům se dostanete v cestě, jako byste měli na pevném disku. Můžete použít některou z předdefinovaných rutin, které poskytovatel podporuje ke správě dat na jednotce zprostředkovatele. A můžete použít vlastní rutiny navržené speciálně pro data.
Zprostředkovatelé také můžou do předdefinovaných rutin přidávat dynamické parametry. Tyto parametry jsou k dispozici pouze při použití rutiny s daty zprostředkovatele.
Předdefinované poskytovatele
PowerShell obsahuje sadu předdefinovaných poskytovatelů, kteří poskytují přístup k různým typům objektů.
- Zprostředkovatel aliasů
- Řídit-
Alias:
- Typy objektů – System.Management.Automation.AliasInfo
- Řídit-
- Zprostředkovatel certifikátů
- Řídit-
Cert:
- Typy objektů – Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Řídit-
- Poskytovatel prostředí
- Řídit-
Env:
- Typy objektů – System.Collections.DictionaryEntry
- Řídit-
- Zprostředkovatel systému souborů
- Jednotka –
C:
a další v závislosti na hardwaru - Typy objektů – System.IO.FileInfo, System.IO.DirectoryInfo
- Jednotka –
- Zprostředkovatel funkcí
- Řídit-
Function:
- Typy objektů – System.Management.Automation.FunctionInfo
- Řídit-
- Zprostředkovatel registru
- Jednotka -
HKLM:
,HKCU:
- Typy objektů – Microsoft.Win32.RegistryKey
- Jednotka -
- Zprostředkovatel proměnných
- Řídit-
Variable:
- Typy objektů – System.Management.Automation.PSVariable
- Řídit-
- Zprostředkovatel WSMan
- Řídit-
WSMan:
- Typy objektů – Microsoft.WSMan.Management.WSManConfigContainerElement
- Řídit-
Můžete také vytvořit vlastní poskytovatele PowerShellu a nainstalovat zprostředkovatele, které vyvíjejí ostatní. Pokud chcete zobrazit seznam zprostředkovatelů dostupných v relaci, zadejte:
Get-PSProvider
Poznámka:
Poskytovatelé certifikátů, registru a WSMan jsou k dispozici pouze na platformě Windows.
Instalace a odebrání zprostředkovatelů
Poskytovatelé se obvykle instalují prostřednictvím modulů PowerShellu. Import modulu načte zprostředkovatele do vaší relace. Předdefinované poskytovatele nemůžete odinstalovat. Poskytovatele načtené jinými moduly můžete odinstalovat.
Pomocí rutiny Remove-Module
můžete uvolnit zprostředkovatele z aktuální relace. Tato rutina poskytovatele neodinstaluje, ale znepřístupňuje ho v relaci.
Pomocí této rutiny Remove-PSDrive
můžete také odebrat libovolnou jednotku z aktuální relace. Tato data na jednotce nejsou ovlivněná, ale jednotka už není v této relaci dostupná.
Zobrazení poskytovatelů
Pokud chcete zobrazit zprostředkovatele PowerShellu na počítači, zadejte:
Get-PSProvider
Výstup obsahuje předdefinované zprostředkovatele a zprostředkovatele, které jste přidali do relace.
Rutiny poskytovatele
Následující rutiny jsou navržené tak, aby fungovaly s daty vystavenými jakýmkoli poskytovatelem. Stejné rutiny můžete použít stejným způsobem ke správě různých typů dat, které poskytovatelé zpřístupňují. Jakmile se naučíte spravovat data jednoho zprostředkovatele, můžete použít stejné postupy s daty od libovolného zprostředkovatele.
Například rutina New-Item
vytvoří novou položku. C:
Na jednotce podporované poskytovatelem systému souborů můžete vytvořit New-Item
nový soubor nebo složku. Na jednotkách podporovaných poskytovatelem registru můžete vytvořit New-Item
nový klíč registru. Na jednotce Alias:
můžete vytvořit New-Item
nový alias.
Podrobné informace o některé z následujících rutin potřebujete zadat:
Get-Help <cmdlet-name> -Detailed
Rutiny ChildItem
Rutiny obsahu
Rutiny položek
- Vymazat položku
- Kopírovat položku
- Získat položku
- Vyvolání položky
- Přesunout položku
- Nová položka
- Odebrat položku
- Přejmenovat položku
- Nastavit položku
Rutiny ItemProperty
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Rutiny umístění
Rutiny cesty
Rutiny PSDrivu
Rutiny PSProvider
Zobrazení dat zprostředkovatele
Hlavní výhodou poskytovatele je, že zveřejňuje svá data známým a konzistentním způsobem. Model pro prezentaci dat je jednotka systému souborů.
Poskytovatel umožňuje zobrazit, procházet a měnit položky v úložišti dat, jako by šlo o data v systému souborů. K úložišti dat se přistupuje pomocí názvu jednotky, kterou podporuje.
Jednotka je uvedená ve výchozím zobrazení Get-PSProvider
rutiny, ale pomocí této rutiny můžete získat informace o jednotce Get-PSDrive
poskytovatele. Pokud například chcete získat všechny vlastnosti funkce: jednotka, zadejte:
Get-PSDrive Function | Format-List *
Data v jednotce poskytovatele můžete zobrazit a procházet stejně jako na jednotce systému souborů.
Pokud chcete zobrazit obsah jednotky zprostředkovatele, použijte rutinyGet-Item
.Get-ChildItem
Zadejte název jednotky následovaný dvojtečka (:
). Pokud chcete například zobrazit obsah Alias:
jednotky, zadejte:
Get-Item alias:
Data v libovolné jednotce můžete zobrazit a spravovat z jiné jednotky tak, že do cesty zahrnete název jednotky. Pokud chcete například zobrazit HKLM\Software
klíč registru na HKLM:
jednotce z jiné jednotky, zadejte:
Get-ChildItem HKLM:\SOFTWARE\
Pokud chcete jednotku otevřít, použijte rutinu Set-Location
. Zapamatujte si dvojtečku při zadání cesty jednotky. Pokud chcete například změnit umístění na kořenový adresář Cert:
jednotky, zadejte:
Set-Location cert:
Pokud chcete zobrazit obsah Cert:
jednotky, zadejte:
Get-ChildItem
Procházení hierarchických dat
Jednotku poskytovatele můžete procházet stejně jako pevný disk. Pokud jsou data uspořádána v hierarchii položek v rámci položek, použijte zpětné lomítko (\
) k označení podřízené položky. Použijte následující formát:
drive:\location\child-location\...
Pokud například chcete změnit umístění na HKLM\Software
klíč registru, zadejte Set-Location
příkaz, například:
Set-Location HKLM:\SOFTWARE\
Pokud některý prvek v plně kvalifikovaném názvu obsahuje mezery, musíte ho uzavřít do uvozovek ("
). Následující příklad ukazuje plně kvalifikovanou cestu, která obsahuje mezery.
"C:\Program Files\Internet Explorer\iexplore.exe"
Můžete také použít relativní odkazy na umístění. Tečka (.
) představuje aktuální umístění. Pokud jste například v HKLM:\Software\Microsoft
klíči registru a chcete v HKLM:\Software\Microsoft\PowerShell
klíči vypsat podklíče registru, zadejte následující příkaz:
Get-ChildItem .\PowerShell
Dvojité tečky (..
) také odkazují na adresář nebo kontejner přímo nad aktuálním umístěním. Pomocí dvojitých tečk (..
) můžete procházet hierarchii zprostředkovatele.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Domovská stránka poskytovatele
Poskytovatelé mají také umístění domů. Toto umístění sdílí všichni PSDrives
zálohovaní poskytovatelem. Dá se načíst zobrazením vlastnosti Home poskytovatele.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
Zprostředkovatel FileSystem je jediným zprostředkovatelem, který má výchozí hodnotu pro Home. Je to stejná hodnota jako $HOME
. Další informace najdete v tématu about_Automatic_Variables.
Domovský adresář pro zprostředkovatele můžete pro aktuální relaci nastavit pomocí jeho vlastnosti.
(Get-PSProvider FileSystem).Home = "C:\"
Znak ~
lze použít k reprezentaci domovského adresáře poskytovatele. Pokud poskytovatel nemá nastavenou domovskou polohu, zobrazí se chyba.
Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-Location],
PSInvalidOperationException
...
Vyhledání dynamických parametrů
Dynamické parametry jsou parametry rutiny přidané do rutiny poskytovatelem. Tyto parametry jsou k dispozici pouze v případech, kdy se rutina používá s poskytovatelem, který je přidal.
Jednotka například Cert:
přidá do rutin Get-ChildItem
parametr Get-Item
CodeSigningCert. Tento parametr můžete použít pouze v případě, že používáte Get-Item
nebo Get-ChildItem
používáte jednotku Cert:
.
Seznam dynamických parametrů, které zprostředkovatel podporuje, najdete v souboru nápovědy pro zprostředkovatele. Zadejte:
Get-Help <provider-name>
Příklad:
Get-Help certificate
Informace o poskytovateli
I když se všechna data zprostředkovatele zobrazují na jednotkách a používáte stejné metody k jejich procházení, podobnost tam zastaví. Úložiště dat, která poskytovatel zveřejňuje, můžou být různá jako umístění služby Active Directory a poštovní schránky serveru Microsoft Exchange Server.
Informace o jednotlivých zprostředkovatelech PowerShellu potřebujete zadat:
Get-Help <ProviderName>
Příklad:
Get-Help registry
Seznam témat nápovědy o poskytovateli pište:
Get-Help * -Category Provider