高级函数上的PowerShell Invoke命令

高级函数上的PowerShell Invoke命令,powershell,remoting,invoke-command,Powershell,Remoting,Invoke Command,我有一个高级功能复制文件hc,可以在模块文件中使用。此函数用于将一些文件从源复制到目标文件夹,并在日志文件中为生成一些输出 该功能在本地运行良好: Copy-FilesHC -Source $Src -Destination $Des *>> $Log 它也可以在远程机器上工作: # For remote use we need to make it available first Import-Module (Get-Command Copy-FilesHC).ModuleNam

我有一个高级功能
复制文件hc
,可以在模块文件中使用。此函数用于将一些文件从
复制到
目标
文件夹,并在日志文件中为生成一些输出

该功能在本地运行良好:

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中复制它,因为它现在自动发生,而它只在模块中可用。所以我只需要找出如何在日志文件中捕获输出


感谢您的帮助。

几分钟前找到了解决方案:

# 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 *>> $Log