So pass to a local function you could do something like…
function FTest
{
Param([string]$Myoutput)
Write-Output $Myoutput
}
$FTestDef = “function FTest { ${function:FTest} }”
Invoke-Command -ArgumentList $FTestDef -ComputerName labserver01 -ScriptBlock {
Param( $FTestDef )
. ([ScriptBlock]::Create($FTestDef))
Write-Host "You can call the function as often as you like:"
FTest "It works!"
}
or something like
Invoke-Command -ScriptBlock ${function:foo} -argumentlist “Yay” -ComputerName labserver01
But how would you pass a PS5 class?