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-Key: 360255

Url: https://administrator.de/contentid/360255

Printed on: April 24, 2024 at 17:04 o'clock

Mitglied: 135111
Solution 135111 Jan 08, 2018 updated at 18:05:51 (UTC)
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.
Member: joe2017
joe2017 Jan 10, 2018 at 16:54:56 (UTC)
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.