Powershell - Set-ClusteredScheduledTask - Ошибка "Неверная функция".
Я экспериментирую с Powershell, чтобы добавить ClusteredScheduledTask на кластерный сервер (Win 2012/R2)
Пример кода Technet выдает ошибку:
#canned exampled from http://technet.microsoft.com/en-us/library/jj649815.aspx
$Action01 = New-ScheduledTaskAction -Execute Notepad
$Action02 = New-ScheduledTaskAction -Execute Calc
Set-ClusteredScheduledTask -TaskName "Task03" -Action $Action01,$Action02
Ошибка:
Set-ClusteredScheduledTask : Incorrect function.
At I:\Scripts\TaskSchedulerSetupJobs\TestWebSampleCode.ps1:4 char:1
+ Set-ClusteredScheduledTask -TaskName "Task03" -Action $Action01,$Action02
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (PS_ClusteredScheduledTask:Root/Microsoft/...edScheduledTask) [Set-ClusteredScheduledTask], CimException
+ FullyQualifiedErrorId : HRESULT 0x80070001,Set-ClusteredScheduledTask
Добавлено: Как указывало KrisFR ниже, я действительно хотел создать регистр, а не установить, но я все еще получаю ту же самую основную ошибку:
#canned exampled from http://technet.microsoft.com/en-us/library/jj649815.aspx
cls
$Trigger = New-ScheduledTaskTrigger -At 12:00 -Once
$Action01 = New-ScheduledTaskAction -Execute Notepad
Register-ClusteredScheduledTask -TaskName "Task03" -Trigger $Trigger -Action $Action01
Ошибка:
Register-ClusteredScheduledTask : The parameter is incorrect.
At I:\Scripts\TaskSchedulerSetupJobs\TestWebSampleCode.ps1:5 char:1
+ Register-ClusteredScheduledTask -TaskName "Task03" -Trigger $Trigger -Action $Ac ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (PS_ClusteredScheduledTask:Root/Microsoft/...edScheduledTask) [Register-ClusteredScheduledTask], CimExce
ption
+ FullyQualifiedErrorId : HRESULT 0x80070057,Register-ClusteredScheduledTask
Обновление № 2: Из ответов и комментариев ниже мы установили:
1) добавление -TaskType anynode изменяет ошибку с "Неправильный параметр" на "Неправильная функция" при работе в PowerGUI, и
2) когда я открываю 32-битный или 64-битный ISE с "Запуск от имени администратора" - я получаю "Неверная функция"
3) когда я открываю 32-битный или 64-битный ISE без "Запуск от имени администратора" - я получаю
4) В какой-то момент ранее сегодня я получал "Отказано в доступе" и / или "Отказано в доступе", я думаю, что именно тогда я открывал PowerGUI без "Запуск от имени администратора".
3 ответа
Мы работали с Microsoft, чтобы решить эту проблему. Наша проблема заключалась в том, что администратор определил "Планировщик заданий" как часть узла кластера "BizTalk2013" (OwnerGroup, как видно из командлета get-ClusterResource). Мы удалили этот ClusterResource. В нашем случае "BizTalk2013" был нашей "OwnerGroup", которая, очевидно, должна быть "Task Scheduler".
Оказывается, что если бы наш администратор ничего не сделал, то сработал бы командлет Register-ClusteredScheduledTask и добавил бы "Task Scheduler" под узлом "Task Scheduler". Я пытаюсь найти блог, за которым он следовал, настраивая его так, как он это делал.
Вы пытаетесь обновить уже зарегистрированную задачу кластера или зарегистрировать новую задачу кластера?
Из блога MSDN:
Set-ClusteredScheduledTask: обновить уже зарегистрированную задачу кластера.
Register-ClusteredScheduledTask: зарегистрировать задачу кластера.
Я думаю, что вы ищете Register-ClusteredScheduledTask.
Вам нужно добавить параметр -TaskType и запустить его от имени администратора:
$trigger = New-ScheduledTaskTrigger -at 12:00 -Once
$action = New-ScheduledTaskAction -Execute "notepad"
Register-ClusteredScheduledTask -Action $action -TaskName "clusteredtasktest" -Trigger $trigger -TaskType anynode