我有一个工作正常的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/