在Powershell中,我使用Register-ScheduledJob -ScriptBlock 命令创建了一个ScheduledJob . 此ScheduledJob执行ScriptBlock . 如何从ScriptBlock中检索当前正在运行的ScheduledJob的名称?
例如 .
Register-ScheduledJob -ScriptBlock { $CurrentScheduledJob | Out-File -FilePath ScheduledJob.txt}
Windows任务计划程序中的任务正在运行命令:
powershell.exe -NoLogo -NonInteractive -WindowStyle Hidden -Command“Import-Module PSScheduledJob; $ jobDef = [Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition] :: LoadFromStore('asdfdsafsdf','C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ Windows \ PowerShell \ ScheduledJobs'); $ jobDef.Run()“
我试图保存变量$ jobDef,但它是空的 .
谢谢
1 回答
我运行了ScheduledJob并导出了所有变量和环境变量,但没有找到作业的名称或ID .
我找到了一个解决方法:
如果使用参数不是您的解决方案,并且您绝对必须在运行时检索它,那么这是一个功能请求 . 你可以在PowerShell user voice索要这个