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.
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
- Jednotka –
- poskytovatel certifikátu
- Jednotka –
Cert: - Typy objektů – Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Jednotka –
- poskytovatel prostředí
- Jednotka –
Env: - Typy objektů – System.Collections.DictionaryEntry
- Jednotka –
- poskytovatel systému souborů
- Jednotka –
C:a další v závislosti na hardwaru - Typy objektů – System.IO.FileInfo, System.IO.DirectoryInfo
- Jednotka –
- Zprostředkovatel funkce
- Jednotka –
Function: - Typy objektů – System.Management.Automation.FunctionInfo
- Jednotka –
- poskytovatel registru
- Jednotka -
HKLM:,HKCU: - Typy objektů – Microsoft.Win32.RegistryKey
- Jednotka -
-
zprostředkovatel proměnné
- Jednotka –
Variable: - Typy objektů – System.Management.Automation.PSVariable
- Jednotka –
- Zprostředkovatel WSMan
- Jednotka –
WSMan: - Typy objektů – Microsoft.WSMan.Management.WSManConfigContainerElement
- Jednotka –
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
- vymazat položku
- kopírovat položku
- Získat položku
- vyvolání položky
- Přesunout položku
- Nová položka
- Odebrat-Item
- přejmenovat položku
- set-item
Rutiny ItemProperty
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Rutiny umístění
- Get-Location (Získat-Umístění)
- Místní umístění
- Umístění nabízených oznámení
- Nastavit-Umístění
Rutiny cesty
- Spojit-cesta
- Převést – cesta
- Rozdělená cesta
- řešení cesty
- testovací 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