about_Providers

Krótki opis

Opisuje, jak 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 przypominającym 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 nimi. Dane są wyświetlane na dysku i uzyskujesz dostęp do danych w ścieżce, tak jak na dysku twardym. Do zarządzania danymi na dysku dostawcy można użyć dowolnego z wbudowanych poleceń cmdlet, które obsługuje dostawca. Można również użyć niestandardowych poleceń cmdlet, które są przeznaczone specjalnie dla danych.

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

Dostawcy wbudowani

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 systemu plików różnią się w zależności od systemu.

Możesz również utworzyć własnych dostawców programu PowerShell i zainstalować dostawców opracowywanych przez inne osoby. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz:

Get-PSProvider

Uwaga

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

Instalowanie i usuwanie dostawców

Dostawcy są zwykle instalowani za pośrednictwem modułów programu PowerShell. Importowanie modułu powoduje załadowanie dostawcy do sesji. Nie można odinstalować wbudowanych dostawców. Dostawcy ładowani przez inne moduły można odinstalować.

Możesz zwolnić dostawcę z bieżącej sesji przy użyciu Remove-Module polecenia cmdlet . To polecenie cmdlet nie odinstalowuje dostawcy, ale sprawia, że dostawca jest niedostępny w sesji.

Możesz również użyć Remove-PSDrive polecenia cmdlet , aby usunąć dowolny dysk z bieżącej sesji. Te dane na dysku nie mają wpływu, 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 zawierają listę wbudowanych dostawców i dostawców dodanych do sesji.

Polecenia cmdlet dostawcy

Następujące polecenia cmdlet są przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Tych samych poleceń cmdlet można używać w taki sam sposób, aby zarządzać różnymi typami danych udostępnianymi przez dostawców. Po zapoznaniu się z zarządzaniem 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. C: Na dysku obsługiwanym przez dostawcę systemu plików można użyć New-Item polecenia , aby utworzyć nowy plik lub folder. Na dyskach obsługiwanych przez dostawcę rejestru można utworzyć New-Item nowy klucz rejestru. Alias: Na dysku możesz użyć New-Item polecenia , aby utworzyć nowy alias.

Aby uzyskać szczegółowe informacje na temat dowolnego z następujących poleceń cmdlet, wpisz:

Get-Help <cmdlet-name> -Detailed

Polecenia cmdlet ChildItem

Polecenia cmdlet zawartości

Polecenia cmdlet elementu

Polecenia cmdlet elementuWłaściwości

Polecenia cmdlet lokalizacji

Polecenia cmdlet ścieżki

Polecenia cmdlet usługi PSDrive

Polecenia cmdlet dostawcy 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 to dane w systemie plików. Dostęp do magazynu danych jest uzyskiwany za pomocą nazwy obsługiwanego dysku.

Dysk znajduje się na liście domyślnej wyświetlanej Get-PSProvider w poleceniu cmdlet, ale możesz uzyskać informacje o dysku dostawcy przy użyciu Get-PSDrive polecenia cmdlet . Aby na przykład uzyskać wszystkie właściwości funkcji: dysk, wpisz:

Get-PSDrive Function | Format-List *

Możesz wyświetlać i przechodzić przez dane na dysku dostawcy tak samo jak na dysku systemu plików.

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

Get-Item alias:

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

Get-ChildItem HKLM:\SOFTWARE\

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

Set-Location cert:

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

Get-ChildItem

Przechodzenie przez dane hierarchiczne

Możesz przejść przez dysk dostawcy tak samo jak dysk twardy. Jeśli dane są rozmieszczane w hierarchii elementów w ramach elementów, 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 polecenie Set-Location, takie jak:

Set-Location HKLM:\SOFTWARE\

Jeśli którykolwiek element w w pełni kwalifikowanej nazwy zawiera spacje, należy ująć nazwę w znaki podwójnego cudzysłowu ("). W poniższym przykładzie przedstawiono w pełni kwalifikowaną ścieżkę zawierającą 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ę w kluczu HKLM:\Software\Microsoft rejestru i chcesz wyświetlić listę podkluczów rejestru w kluczu HKLM:\Software\Microsoft\PowerShell , wpisz następujące polecenie:

Get-ChildItem .\PowerShell

Ponadto podwójne kropki (..) odwołują się do katalogu lub kontenera bezpośrednio nad bieżącą lokalizacją. Aby przejść przez hierarchię dostawcy, możesz użyć podwójnych 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 przez dostawcę PSDrives . 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 systemu plików jest jedynym dostawcą, który ma wartość domyślną dla strony głównej. Jest to ta sama wartość co $Home. Aby uzyskać więcej informacji, zobacz about_Automatic_Variables.

Katalog główny dostawcy można ustawić dla bieżącej sesji przy użyciu jej 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 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 Cert: dysk dodaje parametr CodeSigningCert do Get-Item poleceń cmdlet i Get-ChildItem . Tego parametru można użyć tylko w przypadku użycia Get-Item dysku lub Get-ChildItem dysku Cert: .

Aby uzyskać listę parametrów dynamicznych obsługiwanych przez dostawcę, zobacz plik Pomocy dla dostawcy. Wpisz:

Get-Help <provider-name>

Na przykład:

Get-Help certificate

Poznawanie dostawców

Mimo że wszystkie dane dostawcy są wyświetlane na dyskach i używasz tych samych metod do przechodzenia przez nie, podobieństwo się zatrzymuje. Magazyny danych udostępniane przez dostawcę mogą być tak zróżnicowane, jak lokalizacje usługi Active Directory i skrzynki pocztowe Microsoft Exchange Server.

Aby uzyskać informacje o poszczególnych dostawcach 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ż