Включить файл PowerShell внутри ScriptBlock

Я написал следующий код

$sb = {
    . .\Myfunctions.ps1
    $x = MyFunction1
    $y = MyFunction2
    $x + $y
}

$cred = Get-Credential "domain\user"

Invoke-Command -Computer localhost -Credentials $cred -ScriptBlock $sb

Это не работает, потому что он говорит, что термин.\MyFunctions.ps1 не распознается как командлет

Почему я не могу включить файл в блок скрипта?

1 ответ

Проблема в том, что $pwd (текущий каталог) в блоке скрипта отличается от фактического пути консоли, вызванного этим, потому что вы используете invoke-command с -computer параметр, как вы делаете это в сеансе удаленного взаимодействия. Попробуйте указать полный путь к вашему сценарию, чтобы вызвать его или просто использовать (если локально) & $sb

Другие вопросы по тегам