У меня есть расширенная функция Copy-FilesHC
, доступная в файле модуля. Эта функция копирует некоторые файлы из папки Source
в папку Destination
и создает некоторые выходные данные в файле журнала.
Функция отлично работает локально:
Copy-FilesHC -Source $Src -Destination $Des *>> $Log
Он также работает на удаленной машине:
# For remote use we need to make it available first
Import-Module (Get-Command Copy-FilesHC).ModuleName
Invoke-Command -Credential $Cred -ComputerName $Host -ScriptBlock ${Function:Copy-FilesHC} -ArgumentList $LocalSrc, $LocalDes
Однако я не могу понять, как я могу передать вывод в файл журнала, как в первой команде. Когда я пытаюсь сделать следующее, это не удается:
Invoke-Command -Credential $Cred -ComputerName $Host -ScriptBlock ${Function:Copy-FilesHC *>> $Log} -ArgumentList $LocalSrc, $LocalDes
Invoke-Command : Cannot validate argument on parameter 'ScriptBlock'. The argument is null. Provide a vali
d value for the argument, and then try running the command again.
Как указано здесь, я думал, что $ sign
для ScriptBlock
был неверным. Но таким образом мне не нужно помещать мою расширенную функцию в ScriptBlock, чтобы скопировать ее, так как теперь это происходит автоматически, пока она доступна только в модуле. Поэтому мне просто нужно выяснить, как записать вывод в файл журнала.
Спасибо за помощь.