about_Providers

Kurze Beschreibung

Beschreibt, wie PowerShell-Anbieter Zugriff auf Daten und Komponenten bieten, die sonst nicht auf die Befehlszeile zugreifen können. Die Daten werden in einem konsistenten Format dargestellt, das einem Dateisystemlaufwerk ähnelt.

Lange Beschreibung

PowerShell-Anbieter sind .NET-Programme, die Zugriff auf spezialisierte Datenspeicher bieten, um die Anzeige und Verwaltung zu erleichtern. Die Daten werden auf einem Laufwerk angezeigt, und Sie greifen auf die Daten in einem Pfad wie auf einer Festplatte zu. Sie können alle integrierten Cmdlets verwenden, die der Anbieter unterstützt, um die Daten auf dem Anbieterlaufwerk zu verwalten. Außerdem können Sie benutzerdefinierte Cmdlets verwenden, die speziell für die Daten konzipiert sind.

Die Anbieter können den integrierten Cmdlets auch dynamische Parameter hinzufügen. Diese Parameter sind nur verfügbar, wenn Sie das Cmdlet mit den Anbieterdaten verwenden.

Integrierte Anbieter

PowerShell enthält eine Reihe integrierter Anbieter, mit denen Sie auf die verschiedenen Datentypen von Datenspeichern zugreifen können.

Anbieter Laufwerk(n) OutputType
Alias Alias: System.Management.Automation.AliasInfo
Zertifikat Cert: Microsoft.PowerShell.Commands.X509StoreLocation
System.Security.Cryptography.X509Certificates.X509Certificate2
Umgebung Env: System.Collections.DictionaryEntry
FileSystem C: (*) System.IO.FileInfo
System.IO.DirectoryInfo
Funktion Funktion: System.Management.Automation.FunctionInfo
Registrierung HKLM: HKCU: Microsoft.Win32.RegistryKey
Variable Variable: System.Management.Automation.PSVariable
WSMan WS-Management: Microsoft.WSMan.Management.WSManConfigContainerElement

(*) Die FileSystem-Laufwerke variieren je nach System.

Sie können auch Eigene PowerShell-Anbieter erstellen und Anbieter installieren, die andere entwickeln. Zum Auflisten der In Ihrer Sitzung verfügbaren Anbieter geben Sie Folgendes ein:

Get-PSProvider

Hinweis

Die Anbieter "Zertifikat", " Registrierung" und "WSMan " sind nur auf der Windows-Plattform verfügbar.

Installieren und Entfernen von Anbietern

Anbieter werden in der Regel über PowerShell-Module installiert. Das Importieren des Moduls lädt den Anbieter in Ihre Sitzung. Sie können die integrierten Anbieter nicht deinstallieren. Sie können Anbieter deinstallieren, die von anderen Modulen geladen wurden.

Sie können einen Anbieter über das Remove-Module Cmdlet aus der aktuellen Sitzung entladen. Dieses Cmdlet deinstalliert den Anbieter nicht, macht aber den Anbieter in der Sitzung nicht verfügbar.

Sie können das Remove-PSDrive Cmdlet auch verwenden, um jedes Laufwerk aus der aktuellen Sitzung zu entfernen. Diese Daten auf dem Laufwerk sind nicht betroffen, aber das Laufwerk ist in dieser Sitzung nicht mehr verfügbar.

Anzeigen von Anbietern

Um die PowerShell-Anbieter auf Ihrem Computer anzuzeigen, geben Sie Folgendes ein:

Get-PSProvider

Die Ausgabe listet die integrierten Anbieter und die Anbieter auf, die Sie der Sitzung hinzugefügt haben.

Die Anbieter-Cmdlets

Die folgenden Cmdlets sind so konzipiert, dass sie mit den daten arbeiten, die von jedem Anbieter verfügbar gemacht werden. Sie können dieselben Cmdlets auf die gleiche Weise verwenden, um die verschiedenen Arten von Daten zu verwalten, die Anbieter verfügbar machen. Nachdem Sie gelernt haben, die Daten eines Anbieters zu verwalten, können Sie dieselben Verfahren mit den Daten eines beliebigen Anbieters verwenden.

Das Cmdlet erstellt beispielsweise New-Item ein neues Element. Auf dem C: Laufwerk, das vom FileSystem-Anbieter unterstützt wird, können New-Item Sie eine neue Datei oder einen neuen Ordner erstellen. In den Laufwerken, die vom Registrierungsanbieter unterstützt werden, können New-Item Sie einen neuen Registrierungsschlüssel erstellen. Alias: Im Laufwerk können New-Item Sie einen neuen Alias erstellen.

Geben Sie ausführliche Informationen zu einem der folgenden Cmdlets ein:

Get-Help <cmdlet-name> -Detailed

ChildItem-Cmdlets

Inhalts-Cmdlets

Element-Cmdlets

ItemProperty-Cmdlets

Speicherort-Cmdlets

Pfad-Cmdlets

PSDrive-Cmdlets

PSProvider-Cmdlets

Anzeigen von Anbieterdaten

Der Hauptvorteil eines Anbieters besteht darin, dass seine Daten auf vertraute und konsistente Weise verfügbar gemacht werden. Das Modell für die Datenpräsentation ist ein Dateisystemlaufwerk.

Mit dem Anbieter können Sie Elemente im Datenspeicher anzeigen, navigieren und ändern, als wären sie Daten in einem Dateisystem. Auf den Datenspeicher wird über den Namen des laufwerks zugegriffen, das unterstützt wird.

Das Laufwerk wird in der Standardanzeige des Get-PSProvider Cmdlets aufgeführt, Sie können jedoch Informationen zum Anbieterlaufwerk mithilfe des Get-PSDrive Cmdlets abrufen. Wenn Sie beispielsweise alle Eigenschaften der Funktion abrufen möchten: Laufwerk, geben Sie Folgendes ein:

Get-PSDrive Function | Format-List *

Sie können die Daten auf einem Anbieterlaufwerk genauso anzeigen und durchlaufen wie auf einem Dateisystemlaufwerk.

Verwenden Sie zum Anzeigen des Inhalts eines Anbieterlaufwerks die Get-Item oder Get-ChildItem Cmdlets. Geben Sie den Laufwerknamen gefolgt von einem Doppelpunkt (:)) ein. Um beispielsweise den Inhalt des Alias anzuzeigen: Laufwerk, geben Sie Folgendes ein:

Get-Item alias:

Sie können die Daten auf jedem Laufwerk eines anderen Laufwerks anzeigen und verwalten, indem Sie den Laufwerknamen in den Pfad einschließen. Um z. B. den HKLM\Software-Registrierungsschlüssel im HKLM anzuzeigen: Laufwerk von einem anderen Laufwerk, geben Sie Folgendes ein:

Get-ChildItem HKLM:\SOFTWARE\

Verwenden Sie zum Öffnen des Laufwerks das Cmdlet Set-Location. Denken Sie daran, dass der Doppelpunkt angegeben wird, wenn Sie den Laufwerkpfad angeben. Wenn Sie beispielsweise Ihren Speicherort in das Stammverzeichnis des Cert: Laufwerks ändern möchten, geben Sie Folgendes ein:

Set-Location cert:

Geben Sie dann folgendes ein, um den Inhalt des Cert: Laufwerks anzuzeigen:

Get-ChildItem

Navigieren durch hierarchische Daten

Sie können genauso wie eine Festplatte durch ein Anbieterlaufwerk navigieren. Wenn die Daten in einer Hierarchie von Elementen innerhalb von Elementen angeordnet sind, verwenden Sie einen umgekehrten Schrägstrich (\), um ein untergeordnetes Element anzugeben. Verwenden Sie das folgende Format:

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

Geben Sie z. B. einen Set-Location Befehl ein, um Ihren Speicherort in den HKLM\Software-Registrierungsschlüssel zu ändern, z. B. folgendes:

Set-Location HKLM:\SOFTWARE\

Wenn ein Element im vollqualifizierten Namen Leerzeichen enthält, müssen Sie den Namen in doppelte Anführungszeichen (") einschließen. Das folgende Beispiel zeigt einen vollqualifizierten Pfad, der Leerzeichen enthält.

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

Sie können auch relative Verweise auf Speicherorte verwenden. Ein Punkt (.) stellt die aktuelle Position dar. Wenn Sie sich beispielsweise im HKLM:\Software\Microsoft Registrierungsschlüssel befinden und die Registrierungsunterschlüssel im HKLM:\Software\Microsoft\PowerShell Schlüssel auflisten möchten, geben Sie den folgenden Befehl ein:

Get-ChildItem .\PowerShell

Darüber hinaus bezieht sich double-dots (..) direkt über Ihrem aktuellen Speicherort auf das Verzeichnis oder den Container. Sie können doppelte Punkte (..) verwenden, um durch eine Anbieterhierarchie zu navigieren.

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

Anbieter home

Anbieter haben auch einen Home-Standort . Dieser Speicherort wird von allen PSDrives vom Anbieter gesicherten Speicherorten freigegeben. Sie kann abgerufen werden, indem Sie die Home-Eigenschaft des Anbieters anzeigen.

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

Der FileSystem-Anbieter ist der einzige Anbieter, der einen Standardwert für Home hat. Es ist der gleiche Wert wie $Home. Weitere Informationen finden Sie unter about_Automatic_Variables.

Sie können das Startverzeichnis für einen Anbieter für die aktuelle Sitzung mithilfe seiner Eigenschaft festlegen.

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

Das ~ Zeichen kann verwendet werden, um das Startverzeichnis des Anbieters darzustellen. Wenn der Anbieter nicht über einen Standortsatz "Start " verfügt, wird ein Fehler angezeigt.

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

Suchen dynamischer Parameter

Dynamische Parameter sind Cmdlet-Parameter, die einem Cmdlet von einem Anbieter hinzugefügt werden. Diese Parameter sind nur verfügbar, wenn das Cmdlet mit dem Anbieter verwendet wird, der sie hinzugefügt hat.

Beispielsweise fügt das Cert: Laufwerk den CodeSigningCert-Parameter zu den Get-Item Und-Cmdlets Get-ChildItem hinzu. Sie können diesen Parameter nur verwenden, wenn Sie oder Get-ChildItem im Cert: Laufwerk verwendenGet-Item.

Eine Liste der dynamischen Parameter, die ein Anbieter unterstützt, finden Sie in der Hilfedatei für den Anbieter. Typ:

Get-Help <provider-name>

Beispiel:

Get-Help certificate

Informationen zu Anbietern

Obwohl alle Anbieterdaten in Laufwerken angezeigt werden und Sie dieselben Methoden verwenden, um sie zu durchlaufen, wird die Ähnlichkeit dort beendet. Die Datenspeicher, die der Anbieter verfügbar macht, können so unterschiedlich sein wie Active Directory-Speicherorte und Microsoft Exchange Server Postfächer.

Geben Sie Informationen zu einzelnen PowerShell-Anbietern ein:

Get-Help <ProviderName>

Beispiel:

Get-Help registry

Geben Sie eine Liste der Hilfethemen zu den Anbietern ein:

Get-Help * -Category Provider

Siehe auch