wie erstelle ich einen eigenen PowerShell Befehl: Cmdlet

Befehle in Powershell nennen sich Cmdlets und sind Funktionen an die bestimmte Variablen übergeben werden können. Die Funktion führt dann bestimmte Aufgaben aus und übergibt das Ergebnis mittels "return" an die Konsole.  

Eigene Befehle in Windows Powershell können innerhalb eines Scripts wie folgt erstellt werden: Ich starte dazu wieder die PowerShell ISE, siehe auch: wie-erstelle-ich-ein-PowerShell-Skript, und füge folgenden Text in das Fenster ein:

function get-mytext
{
return "Antwort von meiner selbstgebauten Funktion"
}

Damit die PowerShell ISE die Funktion lädt, müssen wir auf "Script ausführen" (1) drücken und anschließend kann der gerade erstellte Befehl in der Commandozeile ausgeführt werden (2)

wQlERwx0NwoiQBd8BsYTKBzonCoqhOjZx93pW9JM.png

Unserem Cmdlet fehlt aktuell noch die Möglichkeit bestimmte Variablen zu übergeben: siehe Params

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 08.08.2013 von Bernhard
geändert am 15.04.2020 von Bernhard



Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
✍anonym
erstellt am 29.03.2016 14:03
User: böcher 
hi,
ich hab nen script geschrieben auf ps_ise! aber es läuft nich wenn ich es normalen ps laufen lass!! zudem soll es 1 mal gestartet werden und dann für immer im hintergrund aufm server laufen! das scrip schreibt/erstellt  log.txt dateien.
das soll in zukunft im hintergrund passieren.. bitte um hilfe!!

✍anonym
erstellt am 26.08.2016 11:08
User: rost 
"und" einfügen sollte so aussehen:

function f([string]$a, [string]$und, [string]$b) {
Write-Host $a,$und,$b
}
f "texta" "und" "textb"

✍anonym
erstellt am 26.04.2016 22:04
User: PowerShell 
So wieder ich, noch ein kleines Verständnisproblem.
Ich möchte zwischen den beiden Variablen ein "und" haben und den Code entsprechend angepasst:

function f([string]$a, [string]$b) {
Write-Host $a,"und",$b
} 
f("texta","textb")

Aber die Ausgabe lautet "texta textb und" und nicht "texta und textb"

Warum steht das und am Ende?

btw Super Seite
✍Bernhard
erstellt am 26.04.2016 22:04
Sorry, hier war der Aufruf der Funktion falsch, habe ich berichtigt.

erstellt von Bernhard

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Mehr Details