Sdílet prostřednictvím


O poskytovatelích

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ů.

  • Poskytovatel aliasu
    • Jednotka – Alias:
    • Typy objektů – System.Management.Automation.AliasInfo
  • poskytovatel 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 funkce
    • Jednotka – Function:
    • Typy objektů – System.Management.Automation.FunctionInfo
  • poskytovatel registru
    • Jednotka - HKLM:, HKCU:
    • Typy objektů – Microsoft.Win32.RegistryKey
  • zprostředkovatel proměnné
    • 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 nainstalovat zprostředkovatele, které vyvíjejí ostatní. Pokud chcete zobrazit seznam zprostředkovatelů dostupných v relaci, zadejte:

Get-PSProvider

Poznámka:

Poskytovatelé certifikátu , 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.

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

Pomocí rutiny Remove-PSDrive můžete z aktuální relace odebrat libovolnou jednotku. 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. Na C: jednotce podporované poskytovatelem FileSystem můžete k vytvoření nového souboru nebo složky použít New-Item. Na jednotkách podporovaných poskytovatelem Registry můžete pomocí New-Item vytvořit nový klíč registru. Na Alias: jednotce můžete k vytvoření nového aliasu použít New-Item.

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í rutiny Get-PSProvider, ale informace o jednotce poskytovatele můžete získat pomocí rutiny Get-PSDrive. 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 poskytovatele, použijte rutiny Get-Item nebo Get-ChildItem. Zadejte název jednotky následovaný dvojtečka (:). Pokud chcete například zobrazit obsah jednotky Alias:, 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 klíč registru HKLM\Software na jednotce HKLM: 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ář jednotky Cert:, zadejte:

Set-Location cert:

Pokud chcete zobrazit obsah jednotky Cert:, 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 chcete například změnit umístění na klíč registru HKLM\Software, 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 klíči registru HKLM:\Software\Microsoft a chcete vypsat podklíče registru v klíči HKLM:\Software\Microsoft\PowerShell, 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é domovské umístění. Toto umístění sdílí všechny 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

FileSystem je jediným poskytovatelem, který má výchozí hodnotu pro Home. Je to stejná hodnota jako $HOME. Viz about_Automatic_Variablespro více informací.

Pro aktuální relaci můžete nastavit adresář Domovské pro poskytovatele pomocí jeho vlastnosti.

(Get-PSProvider FileSystem).Home = "C:\"

Znak ~ lze použít k reprezentaci domovského adresáře poskytovatele. Pokud poskytovatel nemá nastavenou domovské umístění, 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 Cert: například přidá parametr CodeSigningCert do rutin Get-Item a Get-ChildItem. Tento parametr můžete použít pouze v případě, že používáte Get-Item nebo Get-ChildItem na jednotce Cert:.

Seznam dynamických parametrů, které zprostředkovatel podporuje, najdete v souboru nápovědy pro zprostředkovatele. Typ:

Get-Help <provider-name>

Napří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>

Například:

Get-Help registry

Seznam témat nápovědy o poskytovateli pište:

Get-Help * -Category Provider

Viz také