So verwenden Sie Funktionen in PowerShell

So verwenden Sie Funktionen in PowerShell
Wenn Sie verwenden möchten PowerShell -Skripte Und Befehle In verschiedenen Szenarien können Sie sie in verwandeln wiederverwendbar Funktionen. PowerShell hat eine große Flexibilität, wie Sie den Code in einem Skript darstellen.

Wenn Sie in einem einzigen Codeblock Hunderte von Codes -Zeilen nachschreiben, ist es nicht die richtige Methode, da es normalerweise schwierig ist, einen großen Codeblock zu lesen. Sie können es in kleine Funktionen zerlegen, um das Programm verständlicher, organisierter und wiederverwendbarer zu gestalten.

Was ist eine Funktion in PowerShell??

In Powershell, a Funktion ist eine Sammlung von Code mit optionaler Eingabe und Ausgabe. Es ist die Bildung einer Abfolge von Anweisungen, um eine oder viele Male auszuführen, indem sie einfach aufgerufen wird, anstatt sie wiederholt zu kopieren. Die Funktion verbessert die Lesbarkeit und Verwendbarkeit Ihres Codes erheblich und erleichtert es viel einfacher, mit wiederholtem Code umzugehen.

Es nimmt Parameter als Eingabe an und gibt Werte zurück, die einigen Variablen zugewiesen sind, die an andere Funktionen geleitet werden, oder cmdlets als Eingabe oder als Ausgabe auf dem Bildschirm angezeigt. Anstatt den Code zu wiederholen, kann die Funktion nach Bedarf so oft bezeichnet werden, nachdem sie im Skript definiert wurden. In PowerShell gibt es zwei Arten von Funktionen: grundlegend und fortgeschritten.

Grundfunktionen in PowerShell

Die einfachste Form einer Funktion, die wir in PowerShell erstellen können, wird als "als" bezeichnet "Basic”Funktion. Diese Funktionen verwenden keine der integrierten Funktionen. Eine Menge von Geschweifte Klammern wird verwendet, um den Körper der Funktion zu definieren. Bei der Arbeit mit PowerShell -Funktionen besteht die einfachste Option für Administratoren darin, grundlegende Funktionen zu verwenden, da diese Funktionen keine vererbten Funktionen haben. Sie müssen alle Fehlerströme im Code Ihrer Funktion explizit definieren.

Fortgeschrittene Funktionen in PowerShell

Erweiterte Funktionen haben die gleichen Eigenschaften wie grundlegende Funktionen, enthalten jedoch zusätzliche Funktionen, die grundlegende Funktionen nicht haben. Zum Beispiel enthält PowerShell Streams wie ausführlich, Warnung, Debugg, Fehler usw. Diese Streams sind wichtig, um die Ausgabe genau zu zeigen.

Erstellen grundlegender Funktionen in PowerShell

Jetzt werden wir die Methode zum Erstellen von grundlegenden Funktionen in PowerShell überprüfen. Öffnen Sie dafür Ihre Windows PowerShell Ise und erstellen Sie eine neue Datei.

Der Funktionsschlüsselwort wird verwendet, um eine Funktion in PowerShell zu deklarieren, gefolgt von der Funktionsname Und Geschweifte Klammern. Der Code oder Körper der Funktion liegt in diesen lockigen Zahnspangen .

Funktion Get-Version
$ Psversiontable.Psversion

Wir werden das ausführen “Version”Funktion zur Laufzeit. Speichern Sie nun das Skript als "TestFile1.PS1”Und laufe es.

Rufen Sie im PowerShell -Terminal die erstellte Funktion unter Verwendung ihres Namens auf.

> Get-Version

Es zeigt Ihnen die folgende Ausgabe:

Wenn die Funktion in Ihren Systemspeicher geladen wird, können Sie Funktionen auf der Funktion psDrive anzeigen. Dafür verwenden Sie die “Get-ChilditemBefehl, um die untergeordneten Elemente der Funktion psDrive zu überprüfen. Hier das "-WegDie Option wird verwendet, um den Pfad der Funktion psDrive anzugeben.

> Get-childitem -Path-Funktion: \ GET-*Version

Aus der aktuellen Sitzung können Sie die definierte Funktion mithilfe der “entfernen“ entfernenGegenstand entfernen" Befehl. Führen Sie den folgenden Befehl für diesen Zweck aus.

> Get-childitem -Path-Funktion: \ GET-*Version | Gegenstand entfernen

Verwenden Sie den Rohroperator [“|„], Damit der Befehl die untergeordneten Elemente der Funktion psDrive in die“ herausgibt “Gegenstand entfernen" Befehl. Dann ist die "Gegenstand entfernenCMDLET entfernen die erstellten Funktionen aus der Sitzung.

Um die Entfernung der Funktion zu überprüfen, rufen Sie die “auf“ auf “Version”Funktion. Es zeigt Ihnen die folgende Ausgabe:

Funktionen Parameter in PowerShell

Jetzt schreiben wir eine Funktion, die alle Befehle eines Systems abfragt und die Anzahl der Befehle mit bestimmten Parameternamen zurückgibt. Wenn Sie dies tun möchten, führen Sie das untergegebene Skript in Ihrem PowerShell aus:

Funktion get-MrparameterCount
Param (
[String []] $ parameTername
)
foreach ($ parameter in $ parameTername)
$ Resultation = get -command -parametername $ parameter -RroractionsileallyContinue
[pScustomObject]@
Parameterame = $ Parameter
Numberofcmdlets = $ Ergebnisse.Zählen


Jetzt haben wir uns aufgerufen “Get-Mrparametercount”Mit den Parametern:

Computername, Computer, Servername, Host und Maschine:

> Get -MrparameterCount -Parametername ComputName, Computer, ServerName, Host, Maschine

Erstellen fortgeschrittener Funktionen in PowerShell

Es ist wirklich einfach, eine grundlegende PowerShell -Funktion in eine erweiterte Funktion zu verwandeln. Erweiterte Funktionen haben mehrere gängige Parameter, die automatisch zur Funktion hinzugefügt werden. Jetzt werden wir die im vorherige Abschnitt definierte grundlegende Funktion in eine erweiterte Funktion verwandeln:

Funktionstest-Mrparameter
Param (
$ Computerername
)
Reportput $ computername

Beachten Sie, dass das "Test-MrparameterDie Funktion hat keinen gemeinsamen Parameter. Die gemeinsamen Parameter können auf unterschiedliche Weise betrachtet werden. Eine Methode ist die Verwendung “Get-Command" mit dem "-Syntax”Option zum Betrachten der Syntax:

> Get -Command -name Test -Mrparameter -syntax

Um die Funktion zu einer erweiterten Funktion zu machen, fügen Sie hinzu “CmdletBinding”:

Funktionstest-mrcmdletBinding
[CmdletBinding ()] #<<-- This turns a regular function into an advanced function
Param (
$ Computerername
)
Reportput $ computername

Auch hier können Sie die Syntax und Parameter dieser erweiterten Funktion überprüfen, indem Sie die folgenden Befehle ausführen:

> Get-command -name test-mrcmdletBinding -syntax> (Get-command -name test-mrcmdletBinding).Parameter.Schlüssel

Abschluss

Sie können Code in separaten Bausteinen untersuchen Funktionen in Powershell. Sie unterstützen Sie nicht nur bei der Aufschlüsselung Ihres Code in kleinere und überschaubare Teile, sondern sie drängen Sie auch, Testable und lesbarer Code zu erzeugen.

Funktionen verbessern auch die Lesbarkeit und Benutzerfreundlichkeit Ihres Codes erheblich und erleichtern es viel einfacher, mit wiederholten Code umzugehen. Dieser Artikel zeigt Ihnen einige Methoden zur Verwendung Funktionen In Power Shell, einschließlich grundlegender und fortgeschrittener.