【发布时间】:2015-01-16 20:45:57
【问题描述】:
我有一个可用的 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 变量大括号之间的内容。
感谢您提供任何帮助。
【问题讨论】:
-
这对你有用吗?
$Scriptblock = [scriptblock]::Create((Get-Content E:\Dashboard\Windows\winrm_scriptblock.txt))
标签: powershell winrm