首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将输入对象传递给Start-Job文件

将输入对象传递给Start-Job文件
EN

Stack Overflow用户
提问于 2013-01-31 12:12:17
回答 1查看 2.1K关注 0票数 0

我似乎不明白为什么传递给start-job的输入消失了。我在一个脚本中有这段代码:

代码语言:javascript
复制
$data = "some test string data"
Start-Job -FilePath ".\Tasks.ps1" -InputObject $data

tasks.ps1脚本中,我得到了$input对象的空值,除非我立即调用它,但调用后它就消失了:

代码语言:javascript
复制
$input #displays the data
$input #null

我尝试立即将其赋值给另一个变量($newvalue = $input),但该变量的值也显示为null。

这里我漏掉了什么?如何保留输入数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-31 12:48:07

好了,我找到问题所在了。$input对象作为PilelineReader传递,当在作业中调用时,我假定它是ReadToEnd。当我将$input赋值给一个变量时,我发送的是PipeLineReader而不是它的值。为了解决这个问题,我使用了以下代码:

代码语言:javascript
复制
[string]$newData = $input

这在防止访问对象时发生读取操作方面起到了很好的作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14618350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档