about_Providers

Krátký popis

Popisuje, jak poskytovatelé PowerShellu poskytují přístup k datům a komponentám, které by jinak nemohly být snadno přístupné na příkazovém řádku. Data se zobrazují 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 přistupujete 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. Můžete také použít vlastní rutiny navržené speciálně pro data.

Poskytovatelé 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 zprostředkovatelů, kteří poskytují přístup k různým typům objektů.

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

Můžete také vytvořit vlastní poskytovatele PowerShellu a můžete nainstalovat poskytovatele, které vyvíjejí ostatní. Pokud chcete zobrazit seznam poskytovatelů, kteří jsou ve vaší relaci k dispozici, zadejte:

Get-PSProvider

Poznámka

Zprostředkovatelé Certificate, Registry a WSMan jsou dostupné jenom na platformě Windows.

Instalace a odebrání poskytovatelů

Poskytovatelé se obvykle instalují prostřednictvím modulů PowerShellu. Import modulu načte zprostředkovatele do relace. Předdefinované poskytovatele nemůžete odinstalovat. Poskytovatele načtené jinými moduly můžete odinstalovat.

Poskytovatele můžete uvolnit z aktuální relace pomocí rutiny Remove-Module . Tato rutina neodinstaluje zprostředkovatele, ale zpřístupňuje ho v relaci.

Pomocí 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 poskytovatele PowerShellu na počítači, zadejte:

Get-PSProvider

Výstup obsahuje předdefinované poskytovatele a poskytovatele, které jste přidali do relace.

Rutiny zprostředkovatele

Následující rutiny jsou navržené tak, aby fungovaly s daty vystavenými libovolným 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 FileSystem můžete vytvořit New-Item nový soubor nebo složku. V 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 zpřístupň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 názvem jednotky, kterou podporuje.

Jednotka je uvedená ve výchozím zobrazení Get-PSProvider rutiny, ale pomocí rutiny můžete získat informace o jednotce Get-PSDrive zprostředkovatele. Chcete-li například získat všechny vlastnosti funkce: jednotka, zadejte:

Get-PSDrive Function | Format-List *

Data můžete zobrazit a procházet na jednotce poskytovatele stejně jako na jednotce systému souborů.

Pokud chcete zobrazit obsah jednotky zprostředkovatele, použijte rutiny Get-Item nebo Get-ChildItem rutiny. Zadejte název jednotky, za kterou následuje dvojtečka (:). Pokud chcete například zobrazit obsah Alias: jednotky, zadejte:

Get-Item alias:

Data můžete zobrazit a spravovat na libovolné jednotce 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 . Při zadání cesty jednotky si pamatujte dvojtečku. 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řádaná v hierarchii položek v rámci položek, použijte zpětné lomítko (\) k označení podřízené položky. Použijte tento formát:

drive:\location\child-location\...

Pokud například chcete změnit umístění HKLM\Software na klíč registru, zadejte Set-Location příkaz, například:

Set-Location HKLM:\SOFTWARE\

Pokud některý prvek plně kvalifikovaného názvu obsahuje mezery, musíte název uzavřít do dvojitých 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 vaším aktuálním umístěním. K procházení hierarchie zprostředkovatele můžete použít dvojité tečky (..).

PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>

Domovská stránka poskytovatele

Poskytovatelé mají také domovskou polohu. Toto umístění sdílí všichni PSDrives zálohovaní poskytovatelem. Lze jej načíst zobrazením domovské vlastnosti 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 poskytovatelem, který má výchozí hodnotu pro Domovskou stránku. Je to stejná hodnota jako $Home. Další informace najdete v tématu about_Automatic_Variables.

Domovský adresář pro zprostředkovatele můžete nastavit pro aktuální relaci 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řípadě, že se rutina používá s poskytovatelem, který je přidal.

Jednotka například Cert: přidá parametr CodeSigningCert do rutin Get-Item a Get-ChildItem rutin. Tento parametr můžete použít pouze v případě, že použijete Get-Item nebo Get-ChildItem na Cert: jednotce.

Seznam dynamických parametrů, které poskytovatel 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í v jednotkách a používáte stejné metody k jejich procházení, podobnost se tam zastaví. Úložiště dat, která poskytovatel zveřejňuje, se můžou lišit, jako jsou umístění služby Active Directory a Microsoft Exchange Server poštovní schránky.

Informace o jednotlivých poskytovateli PowerShellu najdete v tématu:

Get-Help <ProviderName>

Příklad:

Get-Help registry

Seznam témat nápovědy o poskytovateli zadejte:

Get-Help * -Category Provider

Viz také