Powershell: Using hashtables or arrays to pass parameters to cmdlets


Was tun wenn man in einem PS-Script ein cmdlet aufrufen muss, diesem cmdlet aber eine variable Zahl an Parametern übergeben möchte?

Man könnte das machen:

if (varParam1)
{
    cmdlet -param "fix param" -param1 varParam1
}
else
{
    cmdlet -param "fix param"
}

oder man verwendet „splatting“. Dabei werden die Parameter mit Hashtables oder Arrays übergeben. Hier ein Beispiel mit Hashtable:
ACHTUNG!!! GANZ WICHTIG!!
Beachtet bei der Verwendung der Hashtable-Variable das @-Zeichen!!!

$Colors = @{ForegroundColor = "black"; BackgroundColor = "white"}
#Write a message with the colors in $Colors
Write-Host "This is a test." @Colors

Und wieder was gelernt 😉

Source:


Schreibe einen Kommentar Antworten abbrechen