about_Function_Provider

Anbietername

Funktion

Laufwerke

Function:

Capabilities

Shouldprocess

Kurze Beschreibung

Bietet Zugriff auf die in PowerShell definierten Funktionen.

Detaillierte Beschreibung

Mit dem PowerShell-Funktionsanbieter können Sie die Funktionen und Filter in PowerShell abrufen, hinzufügen, ändern, löschen und löschen.

Eine Funktion ist ein benannter Codeblock, der eine Aktion ausführt. Wenn Sie den Namen der Funktion eingeben, wird der Code in der Funktion ausgeführt. Ein Filter ist ein benannter Codeblock, der Bedingungen für eine Aktion festlegt. Sie können den Namen des Filters anstelle der Bedingung eingeben, z. B. in einem Where-Object Befehl.

Das Funktionslaufwerk ist ein flacher Namespace, der nur die Funktions- und Filterobjekte enthält. Weder Funktionen noch Filter haben untergeordnete Elemente.

Der Funktionsanbieter unterstützt die folgenden Cmdlets, die in diesem Artikel behandelt werden.

Typen, die von diesem Anbieter verfügbar gemacht werden

Jede Funktion ist eine Instanz der System.Management.Automation.FunctionInfo-Klasse . Jeder Filter ist eine Instanz der System.Management.Automation.FilterInfo-Klasse .

Der Funktionsanbieter macht seinen Datenspeicher auf dem Function: Laufwerk verfügbar. Um mit Funktionen zu arbeiten, können Sie Ihren Speicherort auf das Function: Laufwerk (Set-Location Function:) ändern. Oder Sie können von einem anderen PowerShell-Laufwerk aus arbeiten. Um von einem anderen Speicherort aus auf eine Funktion zu verweisen, verwenden Sie den Laufwerknamen (Function:) im Pfad.

Set-Location Function:

Um zu einem Dateisystemlaufwerk zurückzukehren, geben Sie den Namen des Laufwerks ein. Beispiel:

Set-Location C:

Sie können auch mit dem Funktionsanbieter von jedem anderen PowerShell-Laufwerk aus arbeiten. Um von einem anderen Speicherort aus auf eine Funktion zu verweisen, verwenden Sie den Laufwerknamen Function: im Pfad.

Hinweis

PowerShell verwendet Aliase, damit Sie mit Anbieterpfaden vertraut arbeiten können. Befehle wie dir z. B. aliase ls für "Get-ChildItemcd" sind ein Alias für "Set-Location". und pwd ist ein Alias für "Get-Location".

Abrufen von Funktionen

Dieser Befehl ruft die Liste aller Funktionen in der aktuellen Sitzung ab. Sie können diesen Befehl von jedem Beliebigen PowerShell-Laufwerk aus verwenden.

Get-ChildItem -Path Function:

Der Funktionsanbieter hat keine Container, sodass der obige Befehl den gleichen Effekt hat, wenn er mit Get-ChildItemverwendet wird.

Get-ChildItem -Path Function:

Sie können die Definition einer Funktion abrufen, indem Sie auf die Definition-Eigenschaft zugreifen, wie unten dargestellt.

(Get-Item -Path function:more).Definition

Sie können die Definition einer Funktion auch mithilfe des Anbieterpfads abrufen, dem das Dollarzeichen ($) vorangestellt ist.

$function:more

Um die Definition für eine Funktion abzurufen, die einen Gedankenstrich (-) im Namen enthält, umschließen Sie den Wert nach dem Dollarzeichen in geschweifte geschweifte Klammern.

${function:Clear-Host}

Abrufen ausgewählter Funktionen

Dieser Befehl ruft die man Funktion vom Function: Laufwerk ab. Es verwendet das Get-Item Cmdlet, um die Funktion abzurufen. Der Pipelineoperator (|) sendet das Ergebnis an Format-Table. Der -Wrap Parameter leitet Text an, der nicht in die Zeile passt, auf die nächste Zeile. Der -Autosize Parameter ändert die Größe der Tabellenspalten entsprechend dem Text.

Get-Item -Path man | Format-Table -Wrap -Autosize

Arbeiten mit Funktionsanbieterpfaden

Diese Befehle rufen beide die Funktion mit dem Namen c:ab. Der erste Befehl kann in einem beliebigen Laufwerk verwendet werden. Der zweite Befehl wird auf dem Function: Laufwerk verwendet. Da der Name mit einem Doppelpunkt endet, was die Syntax für ein Laufwerk ist, müssen Sie den Pfad mit dem Namen des Laufwerks verwenden. Innerhalb des Function: Laufwerks können Sie beide Formate verwenden. Im zweiten Befehl stellt der Punkt (.) die aktuelle Position dar.

PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:

Erstellen einer Funktion

Dieser Befehl verwendet das Cmdlet zum Erstellen einer Funktion namens .This command uses the New-Item cmdlet to create a function called Win32:. Der Ausdruck in Klammern ist der Skriptblock, der durch den Namen der Funktion dargestellt wird.

New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}

Sie können auch eine Funktion erstellen, indem Sie sie in die PowerShell-Befehlszeile eingeben. Beispiel: tpe Function:Win32: {Set-Location C:\Windows\System32}. Wenn Sie sich auf dem Function: Laufwerk befinden, können Sie den Laufwerknamen weglassen.

Löschen einer Funktion

Mit diesem Befehl wird die more: Funktion aus der aktuellen Sitzung gelöscht.

Remove-Item Function:more:

Ändern einer Funktion

Dieser Befehl verwendet das Set-Item Cmdlet, um die prompt Funktion so zu ändern, dass die Uhrzeit vor dem Pfad angezeigt wird.

Set-Item -Path Function:prompt -Value {
  'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
  }

Umbenennen einer Funktion

Dieser Befehl verwendet das Rename-Item Cmdlet, um den Namen der help Funktion in .gh

Rename-Item -Path Function:help -NewName gh

Kopieren einer Funktion

Dieser Befehl kopiert die prompt Funktion auf oldPrompt, wodurch effektiv ein neuer Name für den Skriptblock erstellt wird, der der Eingabeaufforderungsfunktion zugeordnet ist. Dadurch können Sie die ursprüngliche "prompt"-Funktion speichern, wenn Sie planen, sie zu ändern. Die Options-Eigenschaft der neuen Funktion weist einen Wert von None. Um den Wert der Options-Eigenschaft zu ändern, verwenden Sie Set-Item.

Copy-Item -Path Function:prompt -Destination Function:oldPrompt

Dynamische Parameter

Dynamische Parameter sind Cmdlet-Parameter, die von einem PowerShell-Anbieter hinzugefügt werden und nur verfügbar sind, wenn das Cmdlet im vom Anbieter aktivierten Laufwerk verwendet wird.

Optionen <[System.Management.Automation.ScopedItemOptions]>

Bestimmt den Wert der Options-Eigenschaft einer Funktion.

  • None: Keine Optionen. None ist die Standardoption.
  • Constant: Die Funktion kann nicht gelöscht werden, und ihre Eigenschaften können nicht geändert werden. Constant ist nur verfügbar, wenn Sie eine Funktion erstellen. Sie können die Option einer vorhandenen Funktion nicht ändern in Constant.
  • Private: Die Funktion ist nur im aktuellen Bereich sichtbar.
  • (nicht in untergeordneten Bereichen).
  • ReadOnly: Die Eigenschaften der Funktion können nicht geändert werden, außer mithilfe des -Force Parameters. Sie können die Funktion löschen Remove-Item .
  • AllScope: Die Funktion wird in alle neuen Bereiche kopiert, die erstellt werden.

Unterstützte Cmdlets

Verwenden der Pipeline

Anbieter-Cmdlets akzeptieren Pipelineeingaben. Sie können die Aufgabe mithilfe der Pipeline vereinfachen, indem Sie Anbieterdaten von einem Cmdlet an ein anderes Anbieter-Cmdlet senden. Weitere Informationen zur Verwendung der Pipeline mit Anbieter-Cmdlets finden Sie in den Cmdlet-Referenzen in diesem Artikel.

Hilfe

Ab Windows PowerShell 3.0 können Sie benutzerdefinierte Hilfethemen für Anbieter-Cmdlets abrufen, die erläutern, wie sich diese Cmdlets in einem Dateisystemlaufwerk verhalten.

Um die Hilfethemen abzurufen, die für das Dateisystemlaufwerk angepasst sind, führen Sie einen Get-Help-Befehl auf einem Dateisystemlaufwerk aus, oder verwenden Sie den -Path Parameter " Get-Help ", um ein Dateisystemlaufwerk anzugeben.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path function:

Weitere Informationen