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 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. Możesz użyć dowolnego z wbudowanych poleceń cmdlet, które obsługuje dostawca do zarządzania danymi na dysku dostawcy. Możesz też 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órzy zapewniają dostęp do różnych typów obiektów.

  • Dostawca aliasu
    • Dysk — Alias:
    • Typy obiektów — System.Management.Automation.AliasInfo
  • Dostawca certyfikatów
    • Dysk — Cert:
    • Typy obiektów — Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
  • Dostawca środowiska
    • Dysk — Env:
    • Typy obiektów — System.Collections.DictionaryEntry
  • Dostawca systemu plików
    • Dysk — C: i inne w zależności od sprzętu
    • Typy obiektów — System.IO.FileInfo, System.IO.DirectoryInfo
  • Dostawca funkcji
    • Dysk — Function:
    • Typy obiektów — System.Management.Automation.FunctionInfo
  • Dostawca rejestru
    • Dysk — HKLM:, HKCU:
    • Typy obiektów — Microsoft.Win32.RegistryKey
  • Dostawca zmiennych
    • Dysk — Variable:
    • Typy obiektów — System.Management.Automation.PSVariable
  • Dostawca WSMan
    • Dysk — WSMan:
    • Typy obiektów — Microsoft.WSMan.Management.WSManConfigContainerElement

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 Certyfikatu, Rejestru i WSMan są dostępni tylko na platformie Windows.

Instalowanie i usuwanie dostawców

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

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ć 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ę. Możesz użyć tych samych poleceń cmdlet w taki sam sposób, aby zarządzać różnymi typami danych udostępnianych przez dostawców. Po zapoznaniu się z zarządzaniem danymi jednego dostawcy można użyć tych samych procedur z danymi od dowolnego dostawcy.

Na przykład New-Item polecenie cmdlet tworzy nowy element. C: Na dysku obsługiwanym przez dostawcę systemu plików można utworzyć New-Item nowy plik lub folder. Na dyskach obsługiwanych przez dostawcę rejestru można utworzyć New-Item nowy klucz rejestru. Alias: Na dysku można użyć New-Item polecenia , aby utworzyć nowy alias.

Aby uzyskać szczegółowe informacje o dowolnych z następujących poleceń 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 usługi PSDrive

Polecenia cmdlet dostawcy usług 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. Magazyn danych jest uzyskiwany za pomocą nazwy obsługiwanego dysku.

Dysk jest wyświetlany w domyślnym wyświetlaniu Get-PSProvider polecenia cmdlet, ale można uzyskać informacje o dysku dostawcy przy użyciu Get-PSDrive polecenia cmdlet . Aby na przykład pobrać wszystkie właściwości funkcji: dysk, wpisz:

Get-PSDrive Function | Format-List *

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

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

Get-Item alias:

Dane 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ć HKLM\Software klucz rejestru na HKLM: dysku z innego dysku, wpisz:

Get-ChildItem HKLM:\SOFTWARE\

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

Set-Location cert:

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

Get-ChildItem

Przechodzenie przez dane hierarchiczne

Możesz przejść przez dysk dostawcy tak samo jak dysk twardy. Jeśli dane są ułożone 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 HKLM\Software klucz rejestru, wpisz Set-Location polecenie, takie jak:

Set-Location HKLM:\SOFTWARE\

Jeśli dowolny 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ą. Możesz użyć podwójnych kropek (..), aby przejść przez hierarchię dostawcy.

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 udostępniana przez wszystkich PSDrives wspieranych 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 systemu plików jest jedynym dostawcą, który ma wartość domyślną home. Jest to taka sama wartość jak $Home. Aby uzyskać więcej informacji, zobacz about_Automatic_Variables.

Możesz ustawić katalog główny dla 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 Cert: dysk dodaje parametr CodeSigningCert do Get-Item poleceń cmdlet i Get-ChildItem . Tego parametru można używać tylko wtedy, gdy używasz Get-Item dysku lub Get-ChildItem na Cert: dysku.

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

Get-Help <provider-name>

Przykład:

Get-Help certificate

Informacje o dostawcach

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

Aby uzyskać informacje o poszczególnych dostawcach programu PowerShell, wpisz:

Get-Help <ProviderName>

Przykład:

Get-Help registry

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

Get-Help * -Category Provider

Zobacz też