Udostępnij za pośrednictwem


about_Providers

Krótki opis

Opisuje, w jaki sposób 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. Aby zarządzać 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órzy zapewniają dostęp do różnych typów obiektów.

  • Dostawca aliasów
    • Dysku- Alias:
    • Typy obiektów — System.Management.Automation.AliasInfo
  • Dostawca certyfikatów
    • Dysku- Cert:
    • Typy obiektów — Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
  • Dostawca środowiska
    • Dysku- 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
    • Dysku- Function:
    • Typy obiektów — System.Management.Automation.FunctionInfo
  • Dostawca rejestru
    • Dysk — HKLM:, HKCU:
    • Typy obiektów — Microsoft.Win32.RegistryKey
  • Dostawca zmiennych
    • Dysku- Variable:
    • Typy obiektów — System.Management.Automation.PSVariable
  • Dostawca programu WSMan
    • Dysku- WSMan:
    • Typy obiektów — Microsoft.WSMan.Management.WSManConfigContainerElement

Możesz również utworzyć własnych dostawców programu PowerShell i zainstalować dostawców tworzonych 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 ładuje dostawcę do sesji. Nie można odinstalować wbudowanych dostawców. Można odinstalować dostawców załadowanych przez inne moduły.

Możesz zwolnić dostawcę 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ępnianymi przez dostawców. Gdy dowiesz się, jak 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. 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ż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 ItemProperty

Polecenia cmdlet lokalizacji

Polecenia cmdlet ścieżki

Polecenia cmdlet usługi 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. 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żesz 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 *

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ń Get-Item 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 na dowolnym dysku można wyświetlać i zarządzać nimi z innego dysku, włączają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 nazwie 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ę podklucze rejestru w kluczu HKLM:\Software\Microsoft\PowerShell , wpisz następujące polecenie:

Get-ChildItem .\PowerShell

Ponadto podwójne kropki (..) odnoszą 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 współużytkowany 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 dla 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 dysk dodaje parametr CodeSigningCert do Get-Item poleceń cmdlet i Get-ChildItem .Cert: Tego parametru można używać tylko wtedy, gdy używasz Get-Item lub Get-ChildItem na Cert: dysku.

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

Get-Help <provider-name>

Na przykład:

Get-Help certificate

Edukacja o dostawcach

Mimo że wszystkie dane dostawcy są wyświetlane na dyskach i używasz tych samych metod do ich przechodzenia, podobieństwo zatrzymuje się tam. Magazyny danych udostępniane przez dostawcę mogą być tak zróżnicowane, jak lokalizacje usługi Active Directory i skrzynki pocztowe programu 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ż