我正在尝试使用 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 的时候。
您是要更新已注册的集群任务还是注册新的集群任务?
来自MSDN 博客:
我猜您正在寻找Register-ClusteredScheduledTask。
您需要添加 -TaskType 参数并以管理员身份运行它:
我们与 Microsoft 合作解决了这个问题。我们的问题是管理员已将“任务计划程序”定义为“BizTalk2013”群集节点的一部分(在 get-ClusterResource cmdlet 上看到的 OwnerGroup)。我们删除了那个 ClusterResource。在我们的例子中,“BizTalk2013”是我们的“OwnerGroup”,显然需要是“Task Scheduler”。
事实证明,如果我们的管理员没有做任何事情,那么运行 Register-ClusteredScheduledTask cmdlet 会起作用,并在名为“Task Scheduler”的节点下添加“Task Scheduler”。我试图找到他按照他的方式设置它所遵循的博客。