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ů
    • Jednotky- Alias:
    • Typy objektů – System.Management.Automation.AliasInfo
  • Zprostředkovatel certifikátů
    • Jednotky- Cert:
    • Typy objektů – Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
  • Poskytovatel prostředí
    • Jednotky- Env:
    • Typy objektů – System.Collections.DictionaryEntry
  • Zprostředkovatel systému souborů
    • Jednotka – C: a další v závislosti na hardwaru
    • Typy objektů – System.IO.FileInfo, System.IO.DirectoryInfo
  • Zprostředkovatel funkcí
    • Jednotky- Function:
    • Typy objektů – System.Management.Automation.FunctionInfo
  • Zprostředkovatel registru
    • Jednotka - HKLM:, HKCU:
    • Typy objektů – Microsoft.Win32.RegistryKey
  • Zprostředkovatel proměnných
    • Jednotky- Variable:
    • Typy objektů – System.Management.Automation.PSVariable
  • Zprostředkovatel WSMan
    • Jednotky- WSMan:
    • Typy objektů – Microsoft.WSMan.Management.WSManConfigContainerElement

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

Rutiny 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

Učení 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

Viz také