about_Providers

Krótki opis

Opisuje sposób, w jaki dostawcy programu PowerShell zapewniają dostęp do danych i składników, które w przeciwnym razie nie byłyby łatwo dostępne w wierszu polecenia. Dane są prezentowane w spójnym formacie, który przypomina dysk systemu plików.

Długi opis

Dostawcy programu PowerShell to programy .NET, które zapewniają dostęp do wyspecjalizowanych magazynów danych w celu łatwiejszego wyświetlania i zarządzania. Dane są wyświetlane na dysku, a dostęp do danych można uzyskać w ścieżce, tak jak na dysku twardym. Do zarządzania danymi na dysku dostawcy można użyć dowolnego z wbudowanych cmdlet, które obsługuje dostawca. Możesz też użyć niestandardowych polecenia cmdlet zaprojektowanych specjalnie dla danych.

Dostawcy mogą również dodawać parametry dynamiczne do wbudowanych polecenia cmdlet. Te parametry są dostępne tylko wtedy, gdy używasz polecenia cmdlet z danymi dostawcy.

Dostawcy wbudowaną

Program PowerShell zawiera zestaw wbudowanych dostawców, których można użyć do uzyskiwania dostępu do różnych typów magazynów danych.

Dostawca Dysku Outputtype
Alias Alias: System.Management.Automation.AliasInfo
Certyfikat Cert: Microsoft.PowerShell.Commands.X509StoreLocation
System.Security.Cryptography.X509Certificates.X509Certificate2
Środowisko Env: System.Collections.DictionaryEntry
FileSystem C: (*) System.IO.FileInfo
System.IO.DirectoryInfo
Funkcja Funkcja: System.Management.Automation.FunctionInfo
Rejestr HKLM: HKCU: Microsoft.Win32.RegistryKey
Zmienna Zmiennej: System.Management.Automation.PSVariable
Wsman Wsman: Microsoft.WSMan.Management.WSManConfigContainerElement

(*) Dyski FileSystem różnią się w zależności od systemu.

Możesz również tworzyć własnych dostawców programu PowerShell i instalować dostawców, których tworzą inni. Aby wyświetlić listę dostawców, które są dostępne w sesji, wpisz:

Get-PSProvider

Uwaga

Dostawcy certyfikatów, rejestru i usługi WSMan są dostępni tylko Windows platformie.

Instalowanie i usuwanie dostawców

Dostawcy są zwykle instalowani za pośrednictwem modułów programu PowerShell. Zaimportowanie modułu ładuje dostawcę do sesji. Nie można odinstalować wbudowanych dostawców. Dostawców załadowanych przez inne moduły można odinstalować.

Dostawcę można zwolnić z bieżącej sesji przy użyciu Remove-Module polecenia cmdlet . To polecenie cmdlet nie powoduje odinstalowania dostawcy, ale sprawia, że dostawca jest niedostępny w sesji.

Możesz również użyć polecenia Remove-PSDrive cmdlet , aby usunąć dowolny dysk z bieżącej sesji. Nie ma to wpływu na te dane na dysku, ale dysk nie jest już dostępny w tej sesji.

Wyświetlanie dostawców

Aby wyświetlić dostawców programu PowerShell na komputerze, wpisz:

Get-PSProvider

Dane wyjściowe zawiera listę dostawców wbudowanych i dostawców dodanych do sesji.

Polecenia cmdlet dostawcy

Następujące polecenia cmdlet są przeznaczone do pracy z danymi ujmiętymi przez dowolnego dostawcę. Tych samych poleceniach cmdlet można używać w taki sam sposób, aby zarządzać różnymi typami danych ujawnianych przez dostawców. Gdy nauczysz się zarządzać danymi jednego dostawcy, możesz użyć tych samych procedur z danymi od dowolnego dostawcy.

Na przykład polecenie New-Item cmdlet tworzy nowy element. Na dysku C: obsługiwanym przez dostawcę FileSystem New-Item można utworzyć nowy plik lub folder. Na dyskach obsługiwanych przez dostawcę rejestru New-Item można utworzyć nowy klucz rejestru. Na dysku Alias: można użyć do New-Item utworzenia nowego aliasu.

Aby uzyskać szczegółowe informacje o dowolnym z następujących cmdlet, wpisz:

Get-Help <cmdlet-name> -Detailed

Polecenia cmdlet ChildItem

Polecenia cmdlet zawartości

Polecenia cmdlet elementu

Polecenia cmdlet ItemProperty

Polecenia cmdlet lokalizacji

Polecenia cmdlet ścieżki

Polecenia cmdlet psdrive

Polecenia cmdlet psprovider

Wyświetlanie danych dostawcy

Główną zaletą dostawcy jest to, że uwidacznia swoje dane w znany i spójny sposób. Model prezentacji danych to dysk systemu plików.

Dostawca umożliwia wyświetlanie, nawigowanie i zmienianie elementów w magazynie danych tak, jakby były danymi w systemie plików. Do magazynu danych jest uzyskiwany dostęp za pomocą nazwy dysku, który obsługuje.

Dysk jest wyświetlany w domyślnym Get-PSProvider wyświetlaniu polecenia cmdlet, ale można uzyskać informacje o dysku dostawcy za pomocą Get-PSDrive polecenia cmdlet . Na przykład, aby uzyskać wszystkie właściwości funkcji: dysku, wpisz:

Get-PSDrive Function | Format-List *

Dane na dysku dostawcy można wyświetlać i przenosić tak samo jak na dysku systemu plików.

Aby wyświetlić zawartość dysku dostawcy, użyj Get-Item lub Get-ChildItem cmdlet. Wpisz nazwę dysku, po którym następuje dwukropek (:). Aby na przykład wyświetlić zawartość dysku Alias: wpisz:

Get-Item alias:

Dane na dowolnym dysku z innego dysku można wyświetlać i zarządzać nimi, uwzględniając nazwę dysku w ścieżce. Aby na przykład wyświetlić klucz rejestru HKLM\Software na dysku HKLM: z innego dysku, wpisz:

Get-ChildItem HKLM:\SOFTWARE\

Aby otworzyć dysk, użyj Set-Location cmdlet . Pamiętaj dwukropek podczas określania ścieżki dysku. Aby na przykład zmienić lokalizację na katalog główny dysku Cert:, wpisz:

Set-Location cert:

Następnie, aby wyświetlić zawartość dysku Cert: wpisz:

Get-ChildItem

Przechodzenie przez dane hierarchiczne

Możesz przechodzić przez dysk dostawcy tak samo jak dysk twardy. Jeśli dane są rozmieszczane w hierarchii elementów w elementach, użyj ukośnika odwrotnego (\), aby wskazać element podrzędny. Użyj następującego formatu:

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

Aby na przykład zmienić lokalizację na klucz rejestru HKLM\Software, wpisz Set-Location polecenia, takie jak:

Set-Location HKLM:\SOFTWARE\

Jeśli dowolny element w w pełni kwalifikowanej nazwie zawiera spacje, należy ująć nazwę w znaki podwójnego cudzysłowu ("). W poniższym przykładzie pokazano w pełni kwalifikowaną ścieżkę, która zawiera spacje.

"C:\Program Files\Internet Explorer\iexplore.exe"

Można również użyć odwołań względnych do lokalizacji. Kropka (.) reprezentuje bieżącą lokalizację. Jeśli na przykład znajdujesz się HKLM:\Software\Microsoft w kluczu rejestru i chcesz wyświetlić listę podkluczy HKLM:\Software\Microsoft\PowerShell rejestru w kluczu, wpisz następujące polecenie:

Get-ChildItem .\PowerShell

Ponadto podwójne kropki (..) odnoszą się do katalogu lub kontenera bezpośrednio nad bieżącą lokalizacją. Do nawigowania po hierarchii dostawcy można użyć dwóch kropek (..).

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

Strona główna dostawcy

Dostawcy mają również lokalizację domową . Ta lokalizacja jest współużytkowana PSDrives przez dostawcę. Można go pobrać, wyświetlając właściwość Home dostawcy.

Get-PSProvider | Format-Table Name, Home
Name        Home
----        ----
Registry
Alias
Environment
FileSystem  C:\Users\username
Function
Variable
Certificate

Dostawca FileSystem jest jedynym dostawcą, który ma wartość domyślną Home. Jest to ta sama wartość co wartość $Home. Aby uzyskać więcej informacji, zobacz about_Automatic_Variables.

Możesz ustawić katalog macierzysty dostawcy dla bieżącej sesji przy użyciu jego właściwości.

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

Znak ~ może służyć do reprezentowania katalogu macierzystego dostawcy. Jeśli dostawca nie ma ustawionej lokalizacji głównej, zostanie wyświetlony błąd.

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

Znajdowanie parametrów dynamicznych

Parametry dynamiczne to parametry polecenia cmdlet, które są dodawane do polecenia cmdlet przez dostawcę. Te parametry są dostępne tylko wtedy, gdy polecenie cmdlet jest używane z dostawcą, który je dodał.

Na przykład dysk dodaje Cert: parametr CodeSigningCert do polecenia Get-Item cmdlet i Get-ChildItem . Tego parametru można użyć tylko wtedy, gdy używasz lub Get-Item Get-ChildItem na Cert: dysku.

Aby uzyskać listę parametrów dynamicznych, które obsługuje dostawca, zobacz plik pomocy dla dostawcy. Wpisz:

Get-Help <provider-name>

Na przykład:

Get-Help certificate

Edukacja o dostawcach

Mimo że wszystkie dane dostawcy pojawiają się na dyskach i do ich przechodzenia używa się tych samych metod, podobieństwo zatrzymuje się tam. Magazyny danych uwidaczniane przez dostawcę mogą być tak różne jak lokalizacje usługi Active Directory i Microsoft Exchange Server skrzynek pocztowych.

Aby uzyskać informacje na temat poszczególnych dostawców programu PowerShell, wpisz:

Get-Help <ProviderName>

Na przykład:

Get-Help registry

Aby uzyskać listę tematów pomocy dotyczących dostawców, wpisz:

Get-Help * -Category Provider

Zobacz też