about_Functions
Kurze Beschreibung
Beschreibt, wie Funktionen in PowerShell erstellt und verwendet werden.
Lange Beschreibung
Eine Funktion ist eine Liste von PowerShell-Anweisungen, die über einen von Ihnen zugewiesenen Namen verfügen. Wenn Sie eine Funktion ausführen, geben Sie den Funktionsnamen ein. Die Anweisungen in der Liste werden so ausgeführt, als hätten Sie sie an der Eingabeaufforderung eingegeben.
Funktionen können so einfach sein wie:
function Get-PowerShellProcess { Get-Process PowerShell }
Eine Funktion kann auch so komplex sein wie ein Cmdlet oder eine Anwendung.
Wie Cmdlets können Funktionen Parameter aufweisen. Die Parameter können benannt, positional, switch oder dynamische Parameter sein. Funktionsparameter können aus der Befehlszeile oder aus der Pipeline gelesen werden.
Funktionen können Werte zurückgeben, die angezeigt, Variablen zugewiesen oder an andere Funktionen oder Cmdlets übergeben werden können. Sie können auch einen Rückgabewert mithilfe des return
Schlüsselwort (keyword) angeben. Die return
Schlüsselwort (keyword) wirkt sich nicht auf andere von Ihrer Funktion zurückgegebene Ausgabe aus oder unterdrückt sie nicht. Die return
Schlüsselwort (keyword) beendet jedoch die Funktion an dieser Zeile. Weitere Informationen finden Sie unter about_Return.
Die Anweisungsliste der Funktion kann verschiedene Typen von Anweisungslisten mit den Schlüsselwörtern begin
, process
, end
und clean
enthalten. Diese Anweisungslisten behandeln Eingaben aus der Pipeline unterschiedlich.
Der Filter Schlüsselwort (keyword) wird verwendet, um einen Funktionstyp zu erstellen, der für jedes Objekt in der Pipeline ausgeführt wird. Ein Filter ähnelt einer Funktion mit allen zugehörigen Anweisungen in einem process
Block.
Funktionen können auch wie Cmdlets fungieren. Sie können eine Funktion erstellen, die wie ein Cmdlet funktioniert, ohne programmieren zu müssen C#
. Weitere Informationen finden Sie unter about_Functions_Advanced.
Wichtig
In Skriptdateien und skriptbasierten Modulen müssen Funktionen definiert werden, bevor sie aufgerufen werden können.
Syntax
Es folgt die Syntax für eine Funktion:
function [<scope:>]<name> [([type]$parameter1[,[type]$parameter2])]
{
begin {<statement list>}
process {<statement list>}
end {<statement list>}
clean {<statement list>}
}
function [<scope:>]<name>
{
param([type]$parameter1 [,[type]$parameter2])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
clean {<statement list>}
}
Eine Funktion enthält die folgenden Elemente:
- Ein
function
Schlüsselwort (keyword) - Ein Bereich (optional)
- Ein von Ihnen ausgewählter Name
- Beliebig viele benannte Parameter (optional)
- Mindestens ein PowerShell-Befehl, der in Klammern eingeschlossen ist
{}
Weitere Informationen zu den dynamicparam
Schlüsselwort (keyword) und dynamischen Parametern in Funktionen finden Sie unter about_Functions_Advanced_Parameters.
Eingabeverarbeitungsmethoden
Die in diesem Abschnitt beschriebenen Methoden werden als Eingabeverarbeitungsmethoden bezeichnet. Für Funktionen werden diese drei Methoden durch die begin
Blöcke , process
und end
der Funktion dargestellt. PowerShell 7.3 fügt eine clean
Blockprozessmethode hinzu.
Sie müssen keine dieser Blöcke in Ihren Funktionen verwenden. Wenn Sie keinen benannten Block verwenden, legt PowerShell den Code in den end
Block der Funktion ein. Wenn Sie jedoch einen dieser benannten Blöcke verwenden oder einen dynamicparam
Block definieren, müssen Sie den gesamten Code in einen benannten Block einfügen.
Das folgende Beispiel zeigt die Gliederung einer Funktion, die einen begin
Block für die einmalige Vorverarbeitung, einen process
Block für die Verarbeitung mehrerer Datensätze und einen Block für die end
einmalige Nachverarbeitung enthält.
Function Test-ScriptCmdlet
{
[CmdletBinding(SupportsShouldProcess=$True)]
Param ($Parameter1)
begin{}
process{}
end{}
}
begin
Dieser Block wird verwendet, um eine optionale einmalige Vorverarbeitung für die Funktion bereitzustellen. Die PowerShell-Runtime verwendet den Code in diesem Block einmal für jede instance der Funktion in der Pipeline.
process
Dieser Block wird verwendet, um die Datensatzverarbeitung für die Funktion bereitzustellen. Sie können einen process
Block verwenden, ohne die anderen Blöcke zu definieren. Die Anzahl der process
Blockausführungen hängt davon ab, wie Sie die Funktion verwenden und welche Eingabe die Funktion empfängt.
Die automatische Variable $_
oder $PSItem
enthält das aktuelle Objekt in der Pipeline zur Verwendung im process
Block. Die $input
automatische Variable enthält einen Enumerator, der nur für Funktionen und Skriptblöcke verfügbar ist.
Weitere Informationen finden Sie unter about_Automatic_Variables.
- Beim Aufrufen der Funktion am Anfang oder außerhalb einer Pipeline wird der
process
Block einmal ausgeführt. - Innerhalb einer Pipeline wird der
process
Block einmal für jedes Eingabeobjekt ausgeführt, das die Funktion erreicht. - Wenn die Pipelineeingabe, die die Funktion erreicht, leer ist, wird der
process
Block nicht ausgeführt.- Die
begin
Blöcke ,end
undclean
werden weiterhin ausgeführt.
- Die
Wichtig
Wenn ein Funktionsparameter so festgelegt ist, dass er pipelineeingaben akzeptiert und kein process
Block definiert ist, schlägt die Datensatzverarbeitung fehl. In diesem Fall wird Ihre Funktion unabhängig von der Eingabe nur einmal ausgeführt.
end
Dieser Block wird verwendet, um eine optionale einmalige Nachverarbeitung für die Funktion bereitzustellen.
clean
Der clean
Block wurde in PowerShell 7.3 hinzugefügt.
Der clean
-Block ist für Benutzer eine praktische Möglichkeit zum Bereinigen von Ressourcen, die sich über die Blöcke begin
, process
und end
erstrecken. Er ähnelt semantisch einem finally
-Block, der alle anderen benannten Blöcke einer Skriptfunktion oder eines Skript-Cmdlets abdeckt. Die Ressourcenbereinigung wird für die folgenden Szenarien erzwungen:
- Die Pipelineausführung wird normal und ohne zum Abbruch führenden Fehler abgeschlossen.
- Die Pipelineausführung wird aufgrund eines zum Abbruch führenden Fehlers unterbrochen.
- Die Pipeline wird durch
Select-Object -First
angehalten. - Die Pipeline wird durch STRG+C oder
StopProcessing()
beendet.
Achtung
Das Hinzufügen des clean
-Blocks ist ein Breaking Change. Da clean
als Schlüsselwort analysiert wird, können Benutzer nicht direkt einen Befehl namens clean
als erste Anweisung in einem Skriptblock aufrufen. Es ist jedoch wahrscheinlich kein Problem. Der Befehl kann weiterhin mit dem Aufrufoperator (& clean
) aufgerufen werden.
Einfache Funktionen
Funktionen müssen nicht kompliziert sein, um nützlich zu sein. Die einfachsten Funktionen haben das folgende Format:
function <function-name> {statements}
Beispielsweise startet die folgende Funktion PowerShell mit der Option Als Administrator ausführen .
function Start-PSAdmin {Start-Process PowerShell -Verb RunAs}
Geben Sie Folgendes ein, um die Funktion zu verwenden: Start-PSAdmin
Um der Funktion Anweisungen hinzuzufügen, geben Sie jede Anweisung in einer separaten Zeile ein, oder verwenden Sie ein Semikolon ;
, um die Anweisungen zu trennen.
Beispielsweise findet die folgende Funktion alle .jpg
Dateien in den Verzeichnissen des aktuellen Benutzers, die nach dem Startdatum geändert wurden.
function Get-NewPix
{
$start = Get-Date -Month 1 -Day 1 -Year 2010
$allpix = Get-ChildItem -Path $env:UserProfile\*.jpg -Recurse
$allpix | Where-Object {$_.LastWriteTime -gt $Start}
}
Sie können eine Toolbox mit nützlichen kleinen Funktionen erstellen. Fügen Sie diese Funktionen Ihrem PowerShell-Profil hinzu, wie in about_Profiles und höher in diesem Thema beschrieben.
Funktionsnamen
Sie können einer Funktion einen beliebigen Namen zuweisen, aber Funktionen, die Sie für andere freigeben, sollten den Benennungsregeln folgen, die für alle PowerShell-Befehle eingerichtet wurden.
Funktionsnamen sollten aus einem Verb-Nomen-Paar bestehen, bei dem das Verb die Von der Funktion ausgeführte Aktion und das Substantiv das Element identifiziert, für das das Cmdlet seine Aktion ausführt.
Funktionen sollten die Standardverben verwenden, die für alle PowerShell-Befehle genehmigt wurden. Diese Verben helfen uns, unsere Befehlsnamen konsistent und für Benutzer einfach zu verstehen.
Weitere Informationen zu den PowerShell-Standardverben finden Sie unter Genehmigte Verben.
Funktionen mit Parametern
Sie können Parameter mit Funktionen verwenden, einschließlich benannter Parameter, Positionsparameter, Schalterparameter und dynamischer Parameter. Weitere Informationen zu dynamischen Parametern in Funktionen finden Sie unter about_Functions_Advanced_Parameters.
benannten Parametern
Sie können eine beliebige Anzahl benannter Parameter definieren. Sie können einen Standardwert für benannte Parameter einschließen, wie weiter unten in diesem Thema beschrieben.
Sie können Parameter innerhalb der Klammern mithilfe der param
Schlüsselwort (keyword) definieren, wie in der folgenden Beispielsyntax gezeigt:
function <name> {
param ([type]$parameter1 [,[type]$parameter2])
<statement list>
}
Sie können auch Parameter außerhalb der Klammern ohne die Param
Schlüsselwort (keyword) definieren, wie in der folgenden Beispielsyntax gezeigt:
function <name> [([type]$parameter1[,[type]$parameter2])] {
<statement list>
}
Im Folgenden finden Sie ein Beispiel für diese alternative Syntax.
function Add-Numbers([int]$one, [int]$two) {
$one + $two
}
Während die erste Methode bevorzugt wird, gibt es keinen Unterschied zwischen diesen beiden Methoden.
Wenn Sie die Funktion ausführen, wird der Wert, den Sie für einen Parameter angeben, einer Variablen zugewiesen, die den Parameternamen enthält. Der Wert dieser Variablen kann in der Funktion verwendet werden.
Das folgende Beispiel ist eine Funktion namens Get-SmallFiles
. Diese Funktion verfügt über einen $Size
Parameter. Die Funktion zeigt alle Dateien an, die kleiner als der Wert des $Size
Parameters sind, und schließt Verzeichnisse aus:
function Get-SmallFiles {
Param($Size)
Get-ChildItem $HOME | Where-Object {
$_.Length -lt $Size -and !$_.PSIsContainer
}
}
In der Funktion können Sie die $Size
Variable verwenden. Dies ist der für den Parameter definierte Name.
Um diese Funktion zu verwenden, geben Sie den folgenden Befehl ein:
Get-SmallFiles -Size 50
Sie können auch einen Wert für einen benannten Parameter ohne den Parameternamen eingeben. Der folgende Befehl liefert beispielsweise das gleiche Ergebnis wie ein Befehl, der den Parameter Size benennt:
Get-SmallFiles 50
Um einen Standardwert für einen Parameter zu definieren, geben Sie ein Gleichheitszeichen und den Wert nach dem Parameternamen ein, wie in der folgenden Variante des Beispiels Get-SmallFiles
gezeigt:
function Get-SmallFiles ($Size = 100) {
Get-ChildItem $HOME | Where-Object {
$_.Length -lt $Size -and !$_.PSIsContainer
}
}
Wenn Sie ohne einen Wert eingeben Get-SmallFiles
, weist die Funktion 100 zu $size
. Wenn Sie einen Wert angeben, verwendet die Funktion diesen Wert.
Optional können Sie eine kurze Hilfezeichenfolge bereitstellen, die den Standardwert Ihres Parameters beschreibt, indem Sie der Beschreibung des Parameters das PSDefaultValue-Attribut hinzufügen und die Help-Eigenschaft von PSDefaultValue angeben. Um eine Hilfezeichenfolge bereitzustellen, die den Standardwert (100) des Size-Parameters in der Get-SmallFiles
Funktion beschreibt, fügen Sie das PSDefaultValue-Attribut hinzu, wie im folgenden Beispiel gezeigt.
function Get-SmallFiles {
param (
[PSDefaultValue(Help = '100')]
$Size = 100
)
}
Weitere Informationen zur PSDefaultValue-Attributklasse finden Sie unter PSDefaultValue-Attributmember.
Positionsparameter
Ein Positionsparameter ist ein Parameter ohne Parameternamen. PowerShell verwendet die Parameterwertreihenfolge, um jeden Parameterwert einem Parameter in der Funktion zuzuordnen.
Wenn Sie Positionsparameter verwenden, geben Sie einen oder mehrere Werte nach dem Funktionsnamen ein. Positionsparameterwerte werden der $args
Arrayvariablen zugewiesen.
Der Wert, der auf den Funktionsnamen folgt, wird der ersten Position im $args
Array zugewiesen, $args[0]
.
Die folgende Get-Extension
Funktion fügt die .txt
Dateierweiterung zu einem dateinamen hinzu, den Sie angeben:
function Get-Extension {
$name = $args[0] + ".txt"
$name
}
Get-Extension myTextFile
myTextFile.txt
Switch-Parameter
Ein Switch ist ein Parameter, der keinen Wert erfordert. Stattdessen geben Sie den Funktionsnamen gefolgt vom Namen des switch-Parameters ein.
Um einen switch-Parameter zu definieren, geben Sie den Typ [switch]
vor dem Parameternamen an, wie im folgenden Beispiel gezeigt:
function Switch-Item {
param ([switch]$on)
if ($on) { "Switch on" }
else { "Switch off" }
}
Wenn Sie den On
switch-Parameter nach dem Funktionsnamen eingeben, zeigt die Funktion an Switch on
. Ohne den switch-Parameter wird angezeigt Switch off
.
Switch-Item -on
Switch on
Switch-Item
Switch off
Sie können einem Switch auch einen booleschen Wert zuweisen, wenn Sie die Funktion ausführen, wie im folgenden Beispiel gezeigt:
Switch-Item -on:$true
Switch on
Switch-Item -on:$false
Switch off
Verwenden von Splatting zum Darstellen von Befehlsparametern
Sie können splatting verwenden, um die Parameter eines Befehls darzustellen. Dieses Feature wird in Windows PowerShell 3.0 eingeführt.
Verwenden Sie diese Technik in Funktionen, die Befehle in der Sitzung aufrufen. Sie müssen die Befehlsparameter nicht deklarieren oder aufzählen oder die Funktion ändern, wenn sich die Befehlsparameter ändern.
Die folgende Beispielfunktion ruft das Get-Command
Cmdlet auf. Der Befehl verwendet @Args
, um die Parameter von Get-Command
darzustellen.
function Get-MyCommand { Get-Command @Args }
Sie können alle Parameter von Get-Command
verwenden, wenn Sie die Get-MyCommand
Funktion aufrufen. Die Parameter und Parameterwerte werden mithilfe @Args
von an den Befehl übergeben.
Get-MyCommand -Name Get-ChildItem
CommandType Name ModuleName
----------- ---- ----------
Cmdlet Get-ChildItem Microsoft.PowerShell.Management
Das @Args
Feature verwendet den $Args
automatischen Parameter, der nicht deklarierte Cmdlet-Parameter und Werte aus verbleibenden Argumenten darstellt.
Weitere Informationen finden Sie unter about_Splatting.
Piping von Objekten an Funktionen
Jede Funktion kann Eingaben aus der Pipeline annehmen. Sie können steuern, wie eine Funktion Eingaben aus der Pipeline mit den Schlüsselwörtern begin
, process
, end
und clean
verarbeitet. Die folgende Beispielsyntax zeigt diese Schlüsselwörter:
Die process
Anweisungsliste wird für jedes Objekt in der Pipeline einmal ausgeführt.
Während der process
Block ausgeführt wird, wird jedes Pipelineobjekt der $_
automatischen Variablen zugewiesen, jeweils ein Pipelineobjekt.
Die folgende Funktion verwendet die process
Schlüsselwort (keyword). Die Funktion zeigt Werte aus der Pipeline an:
function Get-Pipeline
{
process {"The value is: $_"}
}
1,2,4 | Get-Pipeline
The value is: 1
The value is: 2
The value is: 4
Wenn Sie eine Funktion benötigen, die Pipelineeingaben oder -eingaben aus einem Parameter übernehmen kann, muss der process
Block beide Fälle behandeln. Beispiel:
function Get-SumOfNumbers {
param (
[int[]]$Numbers
)
begin { $retValue = 0 }
process {
if ($null -ne $Numbers) {
foreach ($n in $Numbers) {
$retValue += $n
}
} else {
$retValue += $_
}
}
end { $retValue }
}
PS> 1,2,3,4 | Get-SumOfNumbers
10
PS> Get-SumOfNumbers 1,2,3,4
10
Wenn Sie eine Funktion in einer Pipeline verwenden, werden die Objekte, die an die Funktion weitergeleitet werden, der $input
automatischen Variablen zugewiesen. Die Funktion führt Anweisungen mit dem begin
Schlüsselwort (keyword) aus, bevor Objekte aus der Pipeline stammen. Die Funktion führt Anweisungen mit dem end
Schlüsselwort (keyword) aus, nachdem alle Objekte von der Pipeline empfangen wurden.
Das folgende Beispiel zeigt die $input
automatische Variable mit begin
den Schlüsselwörtern und end
.
function Get-PipelineBeginEnd {
begin { "Begin: The input is $input" }
end { "End: The input is $input" }
}
Wenn diese Funktion mithilfe der Pipeline ausgeführt wird, werden die folgenden Ergebnisse angezeigt:
1,2,4 | Get-PipelineBeginEnd
Begin: The input is
End: The input is 1 2 4
Wenn die begin
Anweisung ausgeführt wird, verfügt die Funktion nicht über die Eingabe aus der Pipeline. Die end
-Anweisung wird ausgeführt, nachdem die Funktion über die Werte verfügt.
Wenn die Funktion über eine process
Schlüsselwort (keyword) verfügt, wird jedes Objekt in $input
aus $input
entfernt und zugewiesen$_
. Das folgende Beispiel enthält eine Anweisungsliste process
:
function Get-PipelineInput
{
process {"Processing: $_ " }
end {"End: The input is: $input" }
}
In diesem Beispiel wird jedes Objekt, das an die Funktion übergeben wird, an die process
Anweisungsliste gesendet. Die process
Anweisungen werden für jedes Objekt ausgeführt, jeweils ein Objekt nach dem anderen. Die $input
automatische Variable ist leer, wenn die Funktion den end
Schlüsselwort (keyword) erreicht.
1,2,4 | Get-PipelineInput
Processing: 1
Processing: 2
Processing: 4
End: The input is:
Weitere Informationen finden Sie unter Verwenden von Enumeratoren.
PowerShell 7.3 hat den clean
Block hinzugefügt. Der clean
-Block ist für Benutzer*innen eine praktische Möglichkeit zum Bereinigen von Ressourcen, die in den begin
-, process
- und end
-Blöcken erstellt und verwendet werden. Er ähnelt semantisch einem finally
-Block, der alle anderen benannten Blöcke einer Skriptfunktion oder eines Skript-Cmdlets abdeckt. Die Ressourcenbereinigung wird für die folgenden Szenarien erzwungen:
- Die Pipelineausführung wird normal und ohne zum Abbruch führenden Fehler abgeschlossen.
- Die Pipelineausführung wird aufgrund eines zum Abbruch führenden Fehlers unterbrochen.
- Die Pipeline wird durch
Select-Object -First
angehalten. - , wenn die Pipeline durch STRG+C oder beendet wird
StopProcessing()
Achtung
Das Hinzufügen des clean
-Blocks ist ein Breaking Change. Da clean
als Schlüsselwort analysiert wird, können Benutzer nicht direkt einen Befehl namens clean
als erste Anweisung in einem Skriptblock aufrufen. Es ist jedoch wahrscheinlich kein Problem. Der Befehl kann weiterhin mit dem Aufrufoperator (& clean
) aufgerufen werden.
Filter
Ein Filter ist ein Funktionstyp, der für jedes Objekt in der Pipeline ausgeführt wird. Ein Filter ähnelt einer Funktion mit allen zugehörigen Anweisungen in einem process
-Block.
Die Syntax eines Filters lautet wie folgt:
filter [<scope:>]<name> {<statement list>}
Der folgende Filter akzeptiert Protokolleinträge aus der Pipeline und zeigt dann entweder den gesamten Eintrag oder nur den Nachrichtenteil des Eintrags an:
filter Get-ErrorLog ([switch]$Message)
{
if ($Message) { Out-Host -InputObject $_.Message }
else { $_ }
}
Sie können die Funktion wie folgt verwenden:
Get-WinEvent -LogName System -MaxEvents 100 | Get-ErrorLog -Message
Funktionsbereich
Eine Funktion ist in dem Bereich vorhanden, in dem sie erstellt wird.
Wenn eine Funktion Teil eines Skripts ist, ist die Funktion für Anweisungen in diesem Skript verfügbar. Standardmäßig ist eine Funktion in einem Skript außerhalb dieses Skripts nicht verfügbar.
Sie können den Bereich einer Funktion angeben. Beispielsweise wird die Funktion im folgenden Beispiel dem globalen Bereich hinzugefügt:
function global:Get-DependentSvs {
Get-Service | Where-Object {$_.DependentServices}
}
Wenn sich eine Funktion im globalen Bereich befindet, können Sie die Funktion in Skripts, in Funktionen und in der Befehlszeile verwenden.
Funktionen erstellen einen neuen Bereich. Die in einer Funktion erstellten Elemente, z. B. Variablen, sind nur im Funktionsbereich vorhanden.
Weitere Informationen finden Sie unter about_Scopes.
Suchen und Verwalten von Funktionen mithilfe der Funktion: Drive
Alle Funktionen und Filter in PowerShell werden automatisch auf dem Function:
Laufwerk gespeichert. Dieses Laufwerk wird vom PowerShell-Funktionsanbieter verfügbar gemacht.
Wenn Sie auf das Function:
Laufwerk verweisen, geben Sie einen Doppelpunkt nach Function ein, wie Sie es beim Verweisen auf das C
Laufwerk oder D
eines Computers tun würden.
Der folgende Befehl zeigt alle Funktionen in der aktuellen Sitzung von PowerShell an:
Get-ChildItem function:
Die Befehle in der Funktion werden als Skriptblock in der Definitionseigenschaft der Funktion gespeichert. Um beispielsweise die Befehle in der Hilfefunktion anzuzeigen, die in PowerShell enthalten ist, geben Sie Folgendes ein:
(Get-ChildItem function:help).Definition
Sie können auch die folgende Syntax verwenden.
$function:help
Weitere Informationen zum Function:
Laufwerk finden Sie im Hilfethema zum Funktionsanbieter . Geben Sie Get-Help Function
ein.
Wiederverwenden von Funktionen in neuen Sitzungen
Wenn Sie an der PowerShell-Eingabeaufforderung eine Funktion eingeben, wird die Funktion Teil der aktuellen Sitzung. Die Funktion ist verfügbar, bis die Sitzung endet.
Um Ihre Funktion in allen PowerShell-Sitzungen zu verwenden, fügen Sie die Funktion Ihrem PowerShell-Profil hinzu. Weitere Informationen zu Profilen finden Sie unter about_Profiles.
Sie können Ihre Funktion auch in einer PowerShell-Skriptdatei speichern. Geben Sie Ihre Funktion in eine Textdatei ein, und speichern Sie die Datei dann mit der .ps1
Dateinamenerweiterung.
Schreiben von Hilfe für Funktionen
Das Get-Help
Cmdlet erhält Hilfe für Funktionen sowie für Cmdlets, Anbieter und Skripts. Geben Sie den Namen der Funktion ein, Get-Help
um Hilfe für eine Funktion zu erhalten.
Geben Sie beispielsweise Folgendes ein, um Hilfe für die Get-MyDisks
Funktion zu erhalten:
Get-Help Get-MyDisks
Sie können Mithilfe einer der beiden folgenden Methoden Hilfe für eine Funktion schreiben:
Comment-Based Hilfe für Funktionen
Create ein Hilfethema mit speziellen Schlüsselwörtern in den Kommentaren. Um kommentarbasierte Hilfe für eine Funktion zu erstellen, müssen die Kommentare am Anfang oder Ende des Funktionstexts oder in den Zeilen vor der Funktion Schlüsselwort (keyword) platziert werden. Weitere Informationen zur kommentarbasierten Hilfe finden Sie unter about_Comment_Based_Help.
XML-Based Hilfe für Funktionen
Create ein XML-basiertes Hilfethema, z. B. den Typ, der normalerweise für Cmdlets erstellt wird. Xml-basierte Hilfe ist erforderlich, wenn Sie Hilfethemen in mehrere Sprachen lokalisieren.
Um die Funktion dem XML-basierten Hilfethema zuzuordnen, verwenden Sie die
.EXTERNALHELP
kommentarbasierte Hilfe Schlüsselwort (keyword). Ohne diesen Schlüsselwort (keyword) kann das Funktionshilfethema nicht gefunden werden,Get-Help
und AufrufeGet-Help
von für die Funktion geben nur automatisch generierte Hilfe zurück.Weitere Informationen zum
.EXTERNALHELP
Schlüsselwort (keyword) finden Sie unter about_Comment_Based_Help. Weitere Informationen zur XML-basierten Hilfe finden Sie in der Hilfe zum Schreiben von Cmdlets.
Weitere Informationen
- about_Automatic_Variables
- about_Comment_Based_Help
- about_Function_Provider
- about_Functions_Advanced
- about_Functions_Advanced_Methods
- about_Functions_Advanced_Parameters
- about_Functions_CmdletBindingAttribute
- about_Functions_OutputTypeAttribute
- about_Parameters
- about_Profiles
- about_Scopes
- about_Script_Blocks