Set-ClusteredScheduledTask 更改 'action'

Set-ClusteredScheduledTask change the 'action'

我正在尝试修改集群计划任务的操作 - 运行 所需的文件已更改位置,因此我想修改 schtasks 作业以反映这一点。

我一直在尝试以下方法,但它不起作用...

$ClusterScheduledTaskName = "CLUS - CheckDB-Prod"
$ClusterScheduledTaskAction = New-ScheduledTaskAction -Execute "powershell" -Argument "-file S:\DBA\BatchJobs\Live\Scripts\DBA\Backups\CheckDB_Servers-All_set_to_backup.ps1 -dbbackuptype ALL_DATABASES -backuplist S:\DBA\BatchJobs\Data\CheckDB-Prod.txt" 
set-ClusteredScheduledTask -TaskName $ClusterScheduledTaskName -Action "$ClusterScheduledTaskAction"

错误是:

Set-ClusteredScheduledTask : Cannot bind argument to parameter 'Action', because PSTypeNames of the argument do not match the PSTypeName required by the parameter: 
Microsoft.Management.Infrastructure.CimInstance#MSFT_TaskAction.
At line:1 char:72
+ set-ClusteredScheduledTask -TaskName $ClusterScheduledTaskName -Action "$Cluster ...
+                                                                        ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-ClusteredScheduledTask], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : MismatchedPSTypeName,Set-ClusteredScheduledTask

谁能指出我哪里出错了?

谢谢

因为您在“$ClusterScheduledTaskAction”周围加了引号,Powershell 正在尝试扩展变量的内容。如果你删除引号,你应该没问题。也不要忘记设置触发器!

set-ClusteredScheduledTask -TaskName $ClusterScheduledTaskName -Action $ClusterScheduledTaskAction