У меня есть следующий скрипт:
param(
[string[]]$servers
)
function Write-Info($message) {
}
function Introspect($server) {
Write-Info "about to do something on server"
// other powershell stuff that works
}
Foreach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock ${function:Introspect} -ArgumentList $server -credential 'MyUser'
}
То, что я пытаюсь вызвать на удаленном сервере, вот так (из powershell):
.\myscript.ps1 server1,server2,server3
Сценарий выполняется, но проблема в том, что я получаю ошибку, относящуюся к функции Write-Info
, например:
The term 'Write-Info' is not recognised as the name of a cmdlet, function, script file, or operable program
Функция Introspect
работает нормально, если я встраиваю функцию внутрь, но, думаю, это относится к функции, отсутствующей на удаленном сервере.
Как я могу решить эту проблему, пожалуйста?