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
- Stacja dysków-
Alias:
- Typy obiektów — System.Management.Automation.AliasInfo
- Stacja dysków-
- Dostawca certyfikatów
- Stacja dysków-
Cert:
- Typy obiektów — Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Stacja dysków-
- Dostawca środowiska
- Stacja dysków-
Env:
- Typy obiektów — System.Collections.DictionaryEntry
- Stacja dysków-
- Dostawca systemu plików
- Dysk —
C:
i inne w zależności od sprzętu - Typy obiektów — System.IO.FileInfo, System.IO.DirectoryInfo
- Dysk —
- Dostawca funkcji
- Stacja dysków-
Function:
- Typy obiektów — System.Management.Automation.FunctionInfo
- Stacja dysków-
- Dostawca rejestru
- Dysk —
HKLM:
,HKCU:
- Typy obiektów — Microsoft.Win32.RegistryKey
- Dysk —
- Dostawca zmiennych
- Stacja dysków-
Variable:
- Typy obiektów — System.Management.Automation.PSVariable
- Stacja dysków-
- Dostawca programu WSMan
- Stacja dysków-
WSMan:
- Typy obiektów — Microsoft.WSMan.Management.WSManConfigContainerElement
- Stacja dysków-
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
- Wyczyść element
- Kopiuj element
- Get-Item
- Invoke-Item
- Przenieś element
- Nowy element
- Usuń element
- Zmiana nazwy elementu
- Set-Item
Polecenia cmdlet ItemProperty
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Zmiana nazwy elementuWłaściwości
- Set-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
Poznawanie dostawców
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