joe2017
Goto Top

Powershell Funktion mittels Variable aufrufen

Hallo zusammen,

gibt es einen Trick eine Funktion mittels einer Variable aufzurufen?
Beispiel:
function test-function {
write-host test
}

$var1=test-function

test-function FUNKTIONIERT
$var1 FUNKTIONIERT NICHT

Wenn ich in meiner Powershell "test-function" schreibe wird die Funktion ausgeführt.
Wenn ich diese mittels einer Variable "$var1" aufrufe klappt dies leider nicht?
Was mache ich hier falsch?

Content-ID: 360255

Url: https://administrator.de/forum/powershell-funktion-mittels-variable-aufrufen-360255.html

Ausgedruckt am: 09.04.2025 um 17:04 Uhr

135111
Lösung 135111 08.01.2018 aktualisiert um 19:05:51 Uhr
Goto Top
Mach aus der Funktion einfach einen Scriptblock ...
$var = {
 param($p)
 write-host "Let's drink a $p."  
}

. $var 'beer'  
Man beachte den Punkt, nennt sich Dot-Sourcing.
Ein & geht übrigens auch. Der Unterschied zwischen beiden ist das beim Dot-Sourcing lokale Variablen mit in die Function wandern.
joe2017
joe2017 10.01.2018 um 17:54:56 Uhr
Goto Top
Hallo 135111,

danke für den Tipp. Ich habe es anders lösen können.
Ich habe die function anstatt mit $var1 mit & $var1 aufgerufen.
Mit dem & Zeichen voran hat es funktioniert.

Trotzdem vielen Dank.