Powershell - Set-ClusteredScheduledTask - 错误“不正确的功能”。

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) 在 PowerGUI 下运行时,添加 -TaskType anynode 将错误从“参数不正确”更改为“函数不正确”,并且

2) 当我使用“以管理员身份运行”打开 ISE 32 位或 64 位时,我收到“函数不正确”

3) 当我打开 ISE 32 位或 64 位而没有“以管理员身份运行”时 - 我得到

4) 今天早些时候的某个时候,我收到了“访问被拒绝”和/或“权限被拒绝”的提示,我想那是在我打开 PowerGUI 时没有使用“以管理员身份运行”的时候。

答案1

您是否尝试更新已注册的集群任务或注册新的集群任务?

MSDN 博客

设置 ClusteredScheduledTask:更新已经注册的集群任务。

注册ClusteredScheduledTask: 注册集群任务。

我猜你正在寻找注册-ClusteredScheduledTask

答案2

需要添加-TaskType参数并以管理员身份运行:

$trigger = New-ScheduledTaskTrigger -at 12:00 -Once
$action = New-ScheduledTaskAction -Execute "notepad"
Register-ClusteredScheduledTask -Action $action -TaskName "clusteredtasktest" -Trigger $trigger -TaskType anynode

集群计划任务正在运行

答案3

我们与 Microsoft 合作解决了这个问题。我们的问题是管理员将“任务计划程序”定义为“BizTalk2013”​​群集节点的一部分(get-ClusterResource cmdlet 上显示的 OwnerGroup)。我们删除了该 ClusterResource。在我们的例子中,“BizTalk2013”​​是我们的“OwnerGroup”,显然需要是“任务计划程序”。

事实证明,如果我们的管理员什么都没做,那么运行 Register-ClusteredScheduledTask cmdlet 就会起作用,并在名为“任务计划程序”的节点下添加“任务计划程序”。我试图找到他按照他的方式进行设置的博客。

相关内容