Freigeben über


Über Anbieter

Kurzbeschreibung

Beschreibt, wie PowerShell-Anbieter Zugriff auf Daten und Komponenten gewähren, die andernfalls über die Befehlszeile nicht leicht zugänglich wären. Die Daten werden in einem konsistenten Format dargestellt, das einem Dateisystemlaufwerk ähnelt.

Lange Beschreibung

PowerShell-Anbieter sind Microsoft .NET Framework-basierte Programme, die die Daten in einem spezialisierten Datenspeicher in PowerShell verfügbar machen, damit Sie sie anzeigen und verwalten können.

Die Daten, die ein Anbieter verfügbar macht, werden auf einem Laufwerk angezeigt, und Sie greifen auf die Daten in einem Pfad zu, wie Sie es auf einer Festplatte tun würden. Sie können jedes der integrierten Cmdlets verwenden, die der Anbieter zum Verwalten der Daten im Anbieterlaufwerk unterstützt. Außerdem können Sie benutzerdefinierte Cmdlets verwenden, die speziell für die Daten entwickelt wurden.

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

Integrierte Anbieter

PowerShell enthält eine Reihe integrierter Anbieter, die Sie für den Zugriff auf die verschiedenen Arten von Datenspeichern verwenden können.

Anbieter Antrieb Datenspeicher
Alias Alias: PowerShell-Aliase
Zertifikat Zertifikat x509-Zertifikate für digitale Signaturen
Umwelt Env: Windows-Umgebungsvariablen
Dateisystem (*) Dateisystemlaufwerke, Verzeichnisse und Dateien
Funktion Funktion: PowerShell-Funktionen
Registratur HKLM:, HKCU: Windows-Registrierung
Variable Variable: PowerShell-Variablen
WSMan WSMan: WS-Management Konfigurationsinformationen

(*) Die Dateisystemlaufwerke variieren je nach System.

Sie können auch eigene PowerShell-Anbieter erstellen und Anbieter installieren, die andere entwickeln. Geben Sie Folgendes ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können:

Get-PSProvider

Installieren und Entfernen von Anbietern

PowerShell-Anbieter werden Ihnen in PowerShell-Snap-Ins bereitgestellt, bei denen es sich um .NET Framework-basierte Programme handelt, die in .dll Dateien kompiliert werden. Die Snap-Ins können Anbieter und Cmdlets enthalten.

Bevor Sie die Anbieterfeatures verwenden, müssen Sie das Snap-In installieren und es dann Ihrer PowerShell-Sitzung hinzufügen. Weitere Informationen finden Sie unter about_PSSnapins.

Sie können einen Anbieter nicht deinstallieren, obwohl Sie das PowerShell-Snap-In für den Anbieter aus der aktuellen Sitzung entfernen können. Wenn Sie dies tun, entfernen Sie den gesamten Inhalt des Snap-Ins, einschließlich der zugehörigen Cmdlets.

Um einen Anbieter aus der aktuellen Sitzung zu entfernen, verwenden Sie das Remove-PSSnapin Cmdlet. Mit diesem Cmdlet wird der Anbieter nicht deinstalliert, aber er ist in der Sitzung nicht mehr verfügbar.

Sie können auch das Cmdlet Remove-PSDrive 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

Geben Sie Folgendes ein, um die PowerShell-Anbieter auf Ihrem Computer anzuzeigen:

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 für die Arbeit mit den Daten konzipiert, die von einem beliebigen Anbieter verfügbar gemacht werden. Sie können dieselben Cmdlets auf die gleiche Weise verwenden, um die verschiedenen Datentypen 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 von jedem Anbieter verwenden.

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

Geben Sie detaillierte Informationen zu einem der folgenden Cmdlets ein:

Get-Help <cmdlet-name> -Detailed

ChildItem-Cmdlets

Inhalts-Cmdlets

Element-Cmdlets

ItemProperty-Cmdlets

Cmdlets für Speicherorte

Pfad-Cmdlets

PSDrive-Cmdlets

PSProvider-Cmdlets

Anzeigen von Anbieterdaten

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

Wenn Sie Daten verwenden möchten, die der Anbieter verfügbar macht, zeigen Sie sie an, durchlaufen sie und ändern sie, als wären sie Daten auf einer Festplatte. Daher ist die wichtigste Information über einen Anbieter der Name des Laufwerks, das er unterstützt.

Das Laufwerk wird in der Standardanzeige des Get-PSProvider Cmdlets aufgeführt, aber Sie können Informationen über das Anbieterlaufwerk mithilfe des Cmdlets Get-PSDrive abrufen. Um beispielsweise alle Eigenschaften der Funktion abzurufen: 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.

Um den Inhalt eines Anbieterlaufwerks anzuzeigen, verwenden Sie die Cmdlets Get-Item oder Get-ChildItem. Geben Sie den Laufwerksnamen gefolgt von einem Doppelpunkt (:). Geben Sie beispielsweise Folgendes ein, um den Inhalt des Laufwerks Alias: anzuzeigen:

Get-Item alias:

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

Get-ChildItem HKLM:\SOFTWARE\

Um das Laufwerk zu öffnen, verwenden Sie das Cmdlet Set-Location. Denken Sie beim Angeben des Laufwerkpfads an den Doppelpunkt. Geben Sie beispielsweise Folgendes ein, um Ihren Speicherort in das Stammverzeichnis des Laufwerks "Cert:" zu ändern:

Set-Location cert:

Geben Sie dann Folgendes ein, um den Inhalt des Laufwerks "Cert:" 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\...

Wenn Sie z. B. Ihren Speicherort in den Registrierungsschlüssel HKLM\Software ändern möchten, geben Sie einen Set-Location Befehl ein, z. B.:

Set-Location HKLM:\SOFTWARE\

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

Get-ChildItem .\PowerShell

Anbieter home

Anbieter haben auch einen Home Standort. Dieser Speicherort wird von allen PSDrives vom Anbieter unterstützt. Sie kann abgerufen werden, indem sie die eigenschaft Home des Anbieters anzeigen.

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

Der FileSystem--Anbieter ist der einzige Anbieter, der über einen Standardwert für Homeverfügt. Es ist derselbe Wert wie $Home in about_Automatic_Variables.

Sie können das verzeichnis Home für einen Anbieter für die aktuelle Sitzung mithilfe der Eigenschaft festlegen.

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

Das ~ Zeichen kann verwendet werden, um das Startverzeichnis des Anbieters darzustellen. Wenn der Anbieter keinen Heimatstandort festgelegt hat, wird ein Fehler angezeigt.

Cert:\> Set-Location ~
Set-Location : Home location for this provider is not 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 parameter CodeSigningCert zu den Cmdlets Get-Item und Get-ChildItem hinzu. Sie können diesen Parameter nur verwenden, wenn Sie Get-Item oder Get-ChildItem auf dem laufwerk Cert: verwenden.

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 auf Laufwerken angezeigt werden und Sie dieselben Methoden verwenden, um sie zu durchlaufen, hört die Ähnlichkeit hier auf. Die Vom Anbieter verfügbar gemachten Datenspeicher können so vielfältig sein wie Active Directory-Speicherorte und Microsoft Exchange Server-Postfächer.

Geben Sie Folgendes ein, um Informationen zu einzelnen PowerShell-Anbietern zu erfahren:

Get-Help <ProviderName>

Beispiel:

Get-Help registry

Geben Sie eine Liste der Hilfethemen zu den Anbietern ein:

Get-Help * -Category Provider

Siehe auch

about_Locations

about_Path_Syntax