Funktionen in Windows PowerShell-Skripts

Abgeschlossen

Eine Funktion ist ein Block aus wiederverwendbarem Code. Mit Funktionen können Sie sich wiederholende Aktionen innerhalb eines Skripts ausführen, anstatt ein und denselben Code mehrmals im Skript zu wiederholen. Wenn Sie beispielsweise über ein großes Skript verfügen, das mehrere Aktionen ausführen kann, können Sie eine Funktion schreiben, die Daten auf dem Datenträger protokolliert, anstatt Code zu schreiben, der mit jeder Aktion Daten auf dem Datenträger protokolliert. Anschließend wird die Protokollierfunktion jedes Mal aufgerufen, wenn eine Aktion ausgeführt wird. Wenn Sie diese Protokollierfunktion später ändern möchten, müssen Sie dies an nur an einer Stelle tun.

Wenn Sie eine Funktion aufrufen, können Sie Daten an diese übergeben. Der Param()-Block wird Funktionen genauso verwendet wie für ein Skript. Fügen Sie nach der Funktionsdeklaration den Param()-Block und die Definitionen aller Variablen ein, die an die Funktion übergeben werden sollen. Im folgenden Beispiel sehen Sie eine Funktion, die mithilfe eines Param()-Blocks einen Computernamen akzeptiert:

Function Get-SecurityEvent {
   Param (
      [string]$ComputerName
   ) #end Param
   Get-EventLog -LogName Security -ComputerName -$ComputerName -Newest 10
}

Rufen Sie die Funktion mithilfe der folgenden Syntax in einem Skript auf:

Get-SecurityEvent -ComputerName LON-DC1

Im vorherigen Beispiel wird der Wert des Parameters -Computer an die Variable $ComputerName in der Funktion übergeben. Get-EventLog fragt dann die letzten zehn Ereignisse aus dem Sicherheitsprotokoll dieses Computers ab und zeigt sie auf dem Bildschirm an. Wenn diese Ereignisse in einer Variablen gespeichert und im restlichen Skript verwendbar sein sollen, verwenden Sie die folgende Syntax:

$securityEvents = Get-SecurityEvent -ComputerName LON-DC1