Wir werden drei PowerShell-Funktionen verwenden:
- Der Aufrufoperator
&
ruft einen Befehl auf, dessen Name durch einen Ausdruck angegeben werden kann. Im GegensatzInvoke-Expression
dazu kann es gebundene Parameter behandeln, ohne alles zu stringifizieren. - Die
$PSBoundParameters
Variable ist eine Hashtabelle aus den Parametern des aktuellen Cmdlets und deren Werten. - Das Aufteilen ist wie das Gegenteil von
$PSBoundParameters
: Es verwendet eine Hashtabelle als gebundene Parameter für ein Cmdlet.
Zusammengefasst ersetzen wir Ihren Invoke-Expression
Aufruf damit, rufen ein Cmdlet auf, dessen Name der Parametersatzname ist, und übergibt alle Parameter der Funktion:
& $PSCmdlet.ParameterSetName @PSBoundParameters