PowerShell Job.Progress 包含多个对象
PowerShell Job.Progress contains multiple objects
我目前正在使用 PowerShell 为 Hyper-V 开发备份管理器。
我 运行 在开始这样的导出工作时遇到问题:
$job = (export-vm -name "Windows 10" -path F:\VM_Backup\ -asjob)
现在在查询工作进度时,我发现我的 Progress
里面有两个对象 属性:
> $job.progress
ActivityId : 0
ParentActivityId : -1
Activity : Export wird ausgeführt
StatusDescription : Gelöscht
CurrentOperation :
PercentComplete : 1
SecondsRemaining : -1
RecordType : Processing
ActivityId : 0
ParentActivityId : -1
Activity : Export wird ausgeführt
StatusDescription : Gelöscht
CurrentOperation :
PercentComplete : 37
SecondsRemaining : -1
RecordType : Processing
虽然第二次进度更新取得了真正的进展(增加百分比),但第一个始终保持如上。
我以前从未见过这种行为,这对我来说真的没有任何意义。我如何(以编程方式)select "right" 作业?
根据设计,.Progress
property 收集作业写入的所有进度消息 - 它不仅反映 最新的 状态。
最近写的 消息是最后添加到 .Progress
集合的消息,因此您可以使用索引 [-1]
检索它。
$job.Progress[-1]
注意:对于 Start-Job
创建的作业,您必须访问 .Progress
属性(唯一)child 作业相反:$job.ChildJobs[0].Progress[-1]
- 参见 about_Job_Details
.
我目前正在使用 PowerShell 为 Hyper-V 开发备份管理器。
我 运行 在开始这样的导出工作时遇到问题:
$job = (export-vm -name "Windows 10" -path F:\VM_Backup\ -asjob)
现在在查询工作进度时,我发现我的 Progress
里面有两个对象 属性:
> $job.progress
ActivityId : 0
ParentActivityId : -1
Activity : Export wird ausgeführt
StatusDescription : Gelöscht
CurrentOperation :
PercentComplete : 1
SecondsRemaining : -1
RecordType : Processing
ActivityId : 0
ParentActivityId : -1
Activity : Export wird ausgeführt
StatusDescription : Gelöscht
CurrentOperation :
PercentComplete : 37
SecondsRemaining : -1
RecordType : Processing
虽然第二次进度更新取得了真正的进展(增加百分比),但第一个始终保持如上。
我以前从未见过这种行为,这对我来说真的没有任何意义。我如何(以编程方式)select "right" 作业?
根据设计,.Progress
property 收集作业写入的所有进度消息 - 它不仅反映 最新的 状态。
最近写的 消息是最后添加到 .Progress
集合的消息,因此您可以使用索引 [-1]
检索它。
$job.Progress[-1]
注意:对于 Start-Job
创建的作业,您必须访问 .Progress
属性(唯一)child 作业相反:$job.ChildJobs[0].Progress[-1]
- 参见 about_Job_Details
.