Я пишу приложение, которое использует функцию для обработки данных.На этом этапе мне нужно выполнить скрипт-блок на удаленном компьютере, который использует эту функцию и получает ее в качестве параметра.Код, который я тестирую, выполняет это, но выдает ошибку и ошибку вместе с правильным результатом.Нужен способ добиться того же результата без ошибки.
function MyFunction{
param ($String)
Write-Host "this is: $String"
}
$ScriptBlock = {
param ($MyFunction, $String)
invoke-expression $MyFunction.ScriptBlock.Invoke($String)
}
$MyFunction = (get-item function:MyFunction)
$String = "123"
Invoke-Command -ComputerName <RemoteComputerName> -ScriptBlock $ScriptBlock -
Credential $DomainCred -ArgumentList ($MyFunction,$String)
Это результат, который я получаю - частичный результат плюс ошибка
this is: 123
Cannot convert '' to the type 'System.String' required by parameter 'Command'. Specified method is not supported.
+ CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.InvokeExpressionCommand
+ PSComputerName : <RemoteComputerName>