about_Providers
Kurze Beschreibung
Beschreibt, wie PowerShell-Anbieter Zugriff auf Daten und Komponenten bieten, die andernfalls nicht leicht über die Befehlszeile zugänglich wären. Die Daten werden in einem konsistenten Format dargestellt, das einem Dateisystemlaufwerk ähnelt.
Lange Beschreibung
PowerShell-Anbieter sind .NET-Programme, die den Zugriff auf spezialisierte Datenspeicher zur einfacheren Anzeige und Verwaltung ermöglichen. Die Daten werden in 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. Diese Parameter sind nur verfügbar, wenn Sie das Cmdlet mit den Anbieterdaten verwenden.
Integrierte Anbieter
PowerShell enthält eine Reihe integrierter Anbieter, die zugriff auf verschiedene Arten von Objekten ermöglichen.
- Aliasanbieter
- Laufwerk-
Alias:
- Objekttypen : System.Management.Automation.AliasInfo
- Laufwerk-
- Zertifikatanbieter
- Laufwerk-
Cert:
- Objekttypen : Microsoft.PowerShell.Commands.X509StoreLocation, System.Security.Cryptography.X509Certificates.X509Certificate2
- Laufwerk-
- Umgebungsanbieter
- Laufwerk-
Env:
- Objekttypen : System.Collections.DictionaryEntry
- Laufwerk-
- FileSystem-Anbieter
- Laufwerk –
C:
und andere abhängig von der Hardware - Objekttypen: System.IO.FileInfo, System.IO.DirectoryInfo
- Laufwerk –
- Funktionsanbieter
- Laufwerk-
Function:
- Objekttypen : System.Management.Automation.FunctionInfo
- Laufwerk-
- Registrierungsanbieter
- Laufwerk :
HKLM:
,HKCU:
- Objekttypen : Microsoft.Win32.RegistryKey
- Laufwerk :
- Variablenanbieter
- Laufwerk-
Variable:
- Objekttypen : System.Management.Automation.PSVariable
- Laufwerk-
- WSMan-Anbieter
- Laufwerk-
WSMan:
- Objekttypen : Microsoft.WSMan.Management.WSManConfigContainerElement
- Laufwerk-
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 aufzulisten:
Get-PSProvider
Hinweis
Die Anbieter Certificate, Registry und WSMan sind nur auf der Windows-Plattform verfügbar.
Installieren und Entfernen von Anbietern
Anbieter werden in der Regel über PowerShell-Module installiert. Beim Importieren des Moduls wird der Anbieter in Ihre Sitzung geladen. Sie können die integrierten Anbieter nicht deinstallieren. Sie können Anbieter deinstallieren, die von anderen Modulen geladen wurden.
Sie können einen Anbieter mit dem Cmdlet aus der Remove-Module
aktuellen Sitzung entladen. Dieses Cmdlet deinstalliert den Anbieter nicht, macht den Anbieter jedoch 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
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 dieselben Prozeduren 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. Auf den Laufwerken, die vom Registrierungsanbieter unterstützt werden, können New-Item
Sie einen neuen Registrierungsschlüssel erstellen. Auf dem Alias:
Laufwerk können New-Item
Sie einen neuen Alias erstellen.
Geben Sie detaillierte Informationen zu den folgenden Cmdlets 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 auf vertraute und konsistente Weise verfügbar macht. 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 er unterstützt.
Das Laufwerk wird in der Standardanzeige des Get-PSProvider
Cmdlets aufgeführt, aber Sie können Mithilfe des Get-PSDrive
Cmdlets Informationen zum Anbieterlaufwerk abrufen. Um beispielsweise alle Eigenschaften des Laufwerks Function: abzurufen, geben Sie Folgendes ein:
Get-PSDrive Function | Format-List *
Sie können die Daten auf einem Anbieterlaufwerk wie auf einem Dateisystemlaufwerk anzeigen und durchlaufen.
Verwenden Sie Get-Item
die Cmdlets oder Get-ChildItem
, um den Inhalt eines Anbieterlaufwerks anzuzeigen. Geben Sie den Laufwerksnamen gefolgt von einem Doppelpunkt (:
) ein. Geben Sie beispielsweise Folgendes ein, um den Inhalt des Alias:
Laufwerks 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 einfügen. Um beispielsweise den HKLM\Software
Registrierungsschlüssel auf dem HKLM:
Laufwerk von einem anderen Laufwerk anzuzeigen, geben Sie Folgendes ein:
Get-ChildItem HKLM:\SOFTWARE\
Verwenden Sie das Cmdlet, um das Set-Location
Laufwerk zu öffnen. Denken Sie an den Doppelpunkt, wenn Sie den Laufwerkspfad 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
Verschieben durch hierarchische Daten
Sie können ein Anbieterlaufwerk genauso wie eine Festplatte 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\...
Wenn Sie beispielsweise Ihren Speicherort in den HKLM\Software
Registrierungsschlüssel ändern möchten, geben Sie einen Set-Location
Befehl ein, z. B.:
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 Standorte 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
Außerdem bezieht sich double-dots (..
) auf das Verzeichnis oder den Container direkt über Ihrem aktuellen Speicherort. Sie können double-dots (..
) 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-Startseite
Anbieter haben auch einen Home-Standort . Dieser Speicherort wird von allen PSDrives
freigegeben, die vom Anbieter unterstützt werden. Sie kann durch Anzeigen der Home-Eigenschaft des Anbieters abgerufen werden.
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 über einen Standardwert für Home verfügt. Es ist derselbe 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 Basisverzeichnis des Anbieters darzustellen. Wenn der Anbieter keinen Startspeicherort festgelegt hat, 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 nach dynamischen Parametern
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 Cmdlets und Get-ChildItem
den Get-Item
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 von einem Anbieter unterstützt werden, 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, endet die Ähnlichkeit dort. Die Datenspeicher, die der Anbieter verfügbar macht, können so unterschiedlich sein wie Active Directory-Standorte und Microsoft Exchange Server Postfächer.
Um Informationen zu einzelnen PowerShell-Anbietern zu erfahren, geben Sie Folgendes ein:
Get-Help <ProviderName>
Beispiel:
Get-Help registry
Um eine Liste der Hilfethemen zu den Anbietern zu erfahren, geben Sie Folgendes ein:
Get-Help * -Category Provider