上一主题: dpmhv-getHostSwitches (Funclet) 命令-显示 Hyper-V 主机上的主机开关下一主题: dpmhv-getJobStatus (Funclet) 命令-显示作业状态


dpmhv-getJobInfo (Funclet) 命令-显示作业信息

dpmhv-getJobInfo 命令用于检索所有与异步作业相关的信息(如完成百分比、错误信息和开始时间)。

此命令具有以下格式:

dpmhv-getJobInfo 
-jobref job 
[-silent] 
[-retval] 
[-detail]
-jobref job

指定异步作业的作业 ID。

注意:异步作业执行完成时,Hyper-V 仅保留作业信息几分钟(五分钟),超出该时间后信息将无效。

-silent

指定不输出到屏幕。

-retval

返回一个值以进一步处理。

-detail

(可选)显示异步作业的详细信息。

返回值

dpmhv-getJobInfo 命令将返回对象,其中每个对象均代表当前的作业状态。

Hyper-V 作业:

以常规模式针对本地 Hyper-V 返回下列属性:

以详细模式针对本地 Hyper-V 返回下列属性:

Microsoft System Center Virtual Machine Manager (SCVMM) 作业:

以常规模式针对 SCVMM 返回的属性:

以详细模式针对 SCVMM 返回的属性:

示例:显示作业信息

本示例显示导出作业的完成状态。

jref = dpmhv-exportVMEx -host hvserver -vm TestVM -dest c:\Ex-async
    do
    {
      sleep(5000)
      job = dpmhv-getJobInfo -jobref (jref) -silent -retval
      ? "Completion:", job.PercentComplete+"%"
    } while(job.ErrorCode==0 && job.PercentComplete<100)
    ? job.StatusDescriptions
    if(job.ErrorCode!=0)
    {
      ? job.ErrorDescription
    }

示例:显示 SCVMM 作业信息

本示例显示使用 SCVMM 模板创建的新 VM 的完成状态。

jref=dpmhv-createVMFromTemplate -host hvserver -vm NewVM -dest c:\VMs\NewBox -template Win2k3Clean -scvmmHost SCVMMLibSrv -async
    do
    {
       sleep(5000)
       job = dpmhv-getJobInfo -jobref (jref) -silent -retval
       ? "Completion:", job.ProgressValue+"%"
    } while(!job.IsCompleted)
    ? job.StatusString
    s = job.ErrorInfo;
    errorCode = parseInt(s.substr(s.lastIndexOf('(')+1).left(-1));
    if(errorCode!==0)
    {
      ? job.ErrorInfo
    }