我有一个工作正常的Powershell脚本,我想从外部文件中拉入脚本块。

工作:

$scriptblock = { ... }
invoke-command -ComputerName $server -ScriptBlock $Scriptblock -ArgumentList $server,$team -Credential $credential -asjob -JobName Dashboard_$server -SessionOption (New-PSSessionOption -NoMachineProfile)

“get-job -id | receive-job”的输出很好

不起作用:
# Generate scriptblock from file
$file = Get-Content E:\Dashboard\Windows\winrm_scriptblock.txt
$Scriptblock = $executioncontext.invokecommand.NewScriptBlock($file)

invoke-command -ComputerName $server -ScriptBlock $Scriptblock -ArgumentList $server,$team -Credential $credential -asjob -JobName Dashboard_$server -SessionOption (New-PSSessionOption -NoMachineProfile)

“get-job -id | receive-job”的输出为空

winrm_scriptblock.txt的内容正是在工作版本中定义的scriptblock变量的大括号之间包含的内容。

任何帮助表示赞赏。

最佳答案

有什么理由不只是使用Invoke-Command的-FilePath参数?

关于powershell - 从文件导入脚本块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27992485/

10-08 22:36