首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作业未返回PSObject

作业未返回PSObject
EN

Stack Overflow用户
提问于 2015-11-04 23:42:44
回答 2查看 244关注 0票数 1

有人能解释一下为什么这份工作没有任何回报吗?当该对象未在作业中运行时,将创建并返回该对象。我不确定可能出了什么问题。

代码语言:javascript
复制
$verifyJob = {

$prm = @{'ComputerName' = $args[0];'Credential' = $args[1]}
$esc = @{'ErrorAction' = 'SilentlyContinue'}

# IP Address
$IPAddress = [System.Net.Dns]::GetHostAddresses($args[0]).IPAddressToString

# WMI queries
$os = gwmi Win32_OperatingSystem @prm @esc
$cs = gwmi Win32_ComputerSystem @prm @esc

[pscustomobject]@{
    ComputerName = $args[0]
    OSVersion = $os.Version.SubString(0,3)
    Domain = $cs.Domain.Split(".")[0]
    IP = $IPAddress
    }
}

Start-Job -ScriptBlock $verifyJob -ArgumentList [server],[cred]
Get-Job |Wait-Job | Receive-Job

当我收到这份工作时,那里什么也没有。我曾尝试将对象赋值给一个变量,并在作业结束时返回它,但也没有成功。

*为等待作业清晰度而编辑

EN

回答 2

Stack Overflow用户

发布于 2015-11-04 23:52:41

您需要等待作业完成才能获得结果。

来自Receive-Job

接收作业cmdlet获取在提交接收作业命令时已生成的结果。如果结果尚未完成,您可以运行额外的Receive-Job命令来获取剩余的结果。

考虑到WMI查询可能需要一段时间才能运行,我怀疑您需要执行Wait-Job才能完成查询。

还要注意,Get-Job的结果将告诉您作业的状态以及是否有数据等待接收。

票数 2
EN

Stack Overflow用户

发布于 2015-11-05 00:01:38

当我发布代码时,它被证明是正确工作的。我的实际脚本很长,可能是一个单独的错误导致了我的问题。

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

https://stackoverflow.com/questions/33525972

复制
相关文章

相似问题

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