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!

Aktualisiert: 15.04.2020 von Bernhard |🔔 | Kommentare:4

Skript Grundlagen | PowerShell Cmdlet Hilfe

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
29.03.2016 12: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
26.08.2016 09:20
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
26.04.2016 20:26
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
gepostet am 26.04.2016 20:26
Sorry, hier war der Aufruf der Funktion falsch, habe ich berichtigt.

Beitrag erstellt von Bernhard