2017-01-17 3 views
0

В Powershell я создал ScheduledJob, используя команду Register-ScheduledJob -ScriptBlock {...}. Этот ScheduledJob выполняет ScriptBlock. Как я могу получить имя текущего запущенного ScheduledJob из ScriptBlock?Получить текущее имя ScheduledJob

E.g.

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, но она пуста.

Спасибо

+2

Возможно, $ CurrentScheduledJob.Name будет работать. Вы должны предоставить больше кода, чтобы указать, откуда приходит $ CurrentScheduledJob. –

+0

$ CurrentScheduledJob фактически не существует. Извините, если не ясно. – Stolken

ответ

0

Я побежал ScheduledJob и экспортировать все переменные и переменные окружения и не нашел имя или идентификатор задания.

Я нашел работу вокруг:

$jobName = 'testName' 
Register-ScheduledJob -ScriptBlock { param($name) 
     $name | out-file C:\name.txt 
    } -name $jobName -ArgumentList @($jobName) 

При использовании параметра не является решением для вас, и вы обязательно должны получить его во время выполнения, то это функция запроса. Вы можете запросить это у PowerShell user voice

+0

Это не работает для меня, потому что мне нужно узнать имя задания во время выполнения. Здесь он будет получен при регистрации «регистрации работы». – Stolken

+0

Он не получен при регистрации работы. Он установлен при регистрации работы. Как поясняется в ответе, нет практического способа получить его во время выполнения, если вы не передадите его в качестве параметра. Пожалуйста, уточните свой вопрос с дополнительной информацией о том, как это решение выходит из строя. – TravisEz13

Смежные вопросы