Informationen zu Anbietern
Kurze Beschreibung
Beschreibt, wie PowerShell-Anbieter Zugriff auf Daten und Komponenten bereitstellen, die andernfalls nicht einfach über die Befehlszeile 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 wie auf einer Festplatte zu. Sie können jedes der 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 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 Datenspeichertypen verwenden können.
Anbieter | Laufwerk | Datenspeicher |
---|---|---|
Alias | Alias: | PowerShell-Aliase |
Zertifikat | Cert: | X509-Zertifikate für digitale Signaturen |
Umgebung | Env: | Umgebungsvariablen unter Windows |
FileSystem | (*) | Dateisystemlaufwerke, Verzeichnisse und Dateien |
Funktion | Funktion: | PowerShell-Funktionen |
Registrierung | HKLM:, HKCU: | Windows-Registrierung |
Variable | Variable: | PowerShell-Variablen |
WSMan | WS-Management: | WS-Management-Konfigurationsinformationen |
(*) Die FileSystem-Laufwerke variieren auf jedem System.
Sie können auch eigene PowerShell-Anbieter erstellen und Anbieter installieren, die von anderen entwickelt werden. Geben Sie Folgendes ein, um die in Ihrer Sitzung verfügbaren Anbieter aufzulisten:
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 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.
Verwenden Sie das Cmdlet, um einen Anbieter aus der Remove-PSSnapin
aktuellen Sitzung zu entfernen. Mit diesem Cmdlet wird der Anbieter nicht deinstalliert, aber der Anbieter ist in der Sitzung nicht mehr 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
Geben Sie Folgendes ein, um die PowerShell-Anbieter auf Ihrem Computer anzuzeigen:
Get-PSProvider
In der Ausgabe werden die integrierten Anbieter und die Anbieter aufgelistet, die Sie der Sitzung hinzugefügt haben.
Die Anbieter-Cmdlets
Die folgenden Cmdlets sind so konzipiert, dass sie mit den Daten arbeiten, 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 die gleichen Verfahren für die Daten von jedem Anbieter verwenden.
Das Cmdlet erstellt beispielsweise New-Item
ein neues Element. Auf dem C:
Laufwerk, das vom FileSystem-Anbieter unterstützt wird, können Sie verwenden New-Item
, um eine neue Datei oder einen neuen Ordner zu erstellen. Auf den Laufwerken, die vom Registrierungsanbieter unterstützt werden, können Sie verwenden New-Item
, um einen neuen Registrierungsschlüssel zu erstellen. Auf dem Alias:
Laufwerk können Sie verwenden New-Item
, um einen neuen Alias zu erstellen.
Um ausführliche Informationen zu den folgenden Cmdlets zu finden, geben Sie folgendes ein:
Get-Help <cmdlet-name> -Detailed
ChildItem-Cmdlets
Inhalts-Cmdlets
Element-Cmdlets
ItemProperty-Cmdlets
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Standort-Cmdlets
Pfad-Cmdlets
PSDrive-Cmdlets
PSProvider-Cmdlets
Anzeigen von Anbieterdaten
Der Hauptvorteil eines Anbieters besteht darin, dass er seine Daten vertraut und konsistent verfügbar macht. Das Modell für die Datenpräsentation ist ein Dateisystemlaufwerk.
Um Daten zu verwenden, die der Anbieter verfügbar macht, zeigen Sie sie an, navigieren Sie durch sie und ändern sie so, als wären es Daten auf einer Festplatte. Daher ist die wichtigste Information zu einem Anbieter der Name des laufwerks, das er unterstützt.
Das Laufwerk wird in der Standardanzeige des Get-PSProvider
Cmdlets aufgeführt, Sie können jedoch mithilfe des Cmdlets Get-PSDrive
Informationen zum Anbieterlaufwerk abrufen. Geben Sie beispielsweise Folgendes ein, um alle Eigenschaften des Laufwerks Function: abzurufen:
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 (:) ein. Geben Sie beispielsweise Folgendes ein, um den Inhalt des Aliaslaufwerks anzuzeigen:
Get-Item alias:
Sie können die Daten auf einem beliebigen Laufwerk eines anderen Laufwerks anzeigen und verwalten, indem Sie den Laufwerksnamen in den Pfad einschließen. Geben Sie beispielsweise Folgendes ein, um den Registrierungsschlüssel HKLM\Software im Laufwerk HKLM: von einem anderen Laufwerk anzuzeigen:
Get-ChildItem HKLM:\SOFTWARE\
Verwenden Sie zum Öffnen des Laufwerks das Cmdlet Set-Location. Merken Sie sich den Doppelpunkt, wenn Sie den Laufwerkspfad angeben. 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
Verschieben durch hierarchische Daten
Sie können ein Anbieterlaufwerk genauso wie ein Festplattenlaufwerk durchlaufen.
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 beispielsweise einen Set-Location-Befehl ein, um Ihren Speicherort in den Registrierungsschlüssel HKLM\Software zu ändern, z. B.:
Set-Location HKLM:\SOFTWARE\
Sie können auch relative Verweise auf Standorte verwenden. Ein Punkt (.) stellt die aktuelle Position dar. Wenn Sie sich beispielsweise im Registrierungsschlüssel HKLM:\Software\Microsoft befinden und die Registrierungsunterschlüssel im HKLM:\Software\Microsoft\PowerShell-Schlüssel auflisten möchten, geben Sie den folgenden Befehl ein:
Get-ChildItem .\PowerShell
Anbieter-Startseite
Anbieter verfügen auch über einen Home-Standort . Dieser Speicherort wird von allen PSDrives
freigegeben, die vom Anbieter unterstützt werden. 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\robreed
Function
Variable
Certificate
Der FileSystem-Anbieter ist der einzige Anbieter, der über einen Standardwert für Home verfügt. Es ist der gleiche Wert wie $Home
siehe about_Automatic_Variables.
Sie können das Startverzeichnis für einen Anbieter für die aktuelle Sitzung mit seiner Eigenschaft festlegen.
(Get-PSProvider FileSystem).Home = "C:\"
Das ~
Zeichen kann verwendet werden, um das Basisverzeichnis des Anbieters darzustellen.
Wenn der Anbieter keinen Startstandort 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 nach dynamischen Parametern
Dynamische Parameter sind Cmdletparameter, 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 Cmdlets und den Cmdlets den Get-Item
Get-ChildItem
Parameter CodeSigningCert 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 auf Laufwerken angezeigt werden und Sie dieselben Methoden verwenden, um sie zu durchlaufen, bleibt die Ähnlichkeit dort auf. 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 Folgendes ein, um Informationen zu einzelnen PowerShell-Anbietern zu erfahren:
Get-Help <ProviderName>
Beispiel:
Get-Help registry
Geben Sie Folgendes ein, um eine Liste mit Hilfethemen zu den Anbietern zu finden:
Get-Help * -Category Provider