powershell远程作业

powershell远程作业,powershell,powershell-remoting,Powershell,Powershell Remoting,为什么我会得到下面代码的错误: Get-Job -Id 1 | Select-Object -ExpandProperty childjobs | Where-Object {$_.state -eq 'Completed'} | Select-Object -ExpandProperty id | Receive-Job 接收作业:无法将输入对象绑定到的任何参数 由于该命令不接受管道输入或 输入及其属性与所输入的任何参数都不匹配 获取管道输入。第1行字符:147 +获取作业-ID1 |选择

为什么我会得到下面代码的错误:

Get-Job -Id 1 | Select-Object -ExpandProperty childjobs | Where-Object {$_.state -eq 'Completed'} | Select-Object -ExpandProperty id | Receive-Job 
接收作业:无法将输入对象绑定到的任何参数 由于该命令不接受管道输入或 输入及其属性与所输入的任何参数都不匹配 获取管道输入。第1行字符:147 +获取作业-ID1 |选择对象-ExpandProperty子作业|其中对象{$\u.state-eq'Completed'}选择对象
-ExpandProperty id | Receive Job问题在于
选择对象-ExpandProperty id
正在发送一个
系统。Int32
这不是
接收作业
期望的ISA/HASA绑定。删除
-ExpandProperty
,这样您就可以将
System.Management.Automation.PSCustomObject
保留为ID属性

Get-Job -Id 1 | Select-Object -ExpandProperty childjobs | Where-Object {$_.state -eq 'Completed'} | Select-Object id | Receive-Job
如果您想了解
系统.Int32
未绑定到
接收作业
的具体原因,可以使用
跟踪命令
。此简化示例尝试将
Int32
(当前进程ID)绑定到
Get进程

Trace-Command -Name ParameterBinding  -Option All -Expression { $PID | Get-Process } -PSHost

此命令的输出很长,但它显示了PowerShell为将上游对象绑定到下游cmdlet而尝试执行的所有操作。

问题是
选择对象-ExpandProperty id
正在发送一个
系统。Int32
这不是
接收作业
期望的ISA/HASA绑定。删除
-ExpandProperty
,这样您就可以将
System.Management.Automation.PSCustomObject
保留为ID属性

Get-Job -Id 1 | Select-Object -ExpandProperty childjobs | Where-Object {$_.state -eq 'Completed'} | Select-Object id | Receive-Job
如果您想了解
系统.Int32
未绑定到
接收作业
的具体原因,可以使用
跟踪命令
。此简化示例尝试将
Int32
(当前进程ID)绑定到
Get进程

Trace-Command -Name ParameterBinding  -Option All -Expression { $PID | Get-Process } -PSHost

此命令的输出很长,但它显示了PowerShell为将上游对象绑定到下游cmdlet所做的一切。

+1用于向他显示跟踪命令,教他如何钓鱼:)。+1用于向他显示跟踪命令,教他如何钓鱼:)。