我尝试使用自定义设置添加New-ScheduledTaskSettingsSet。根据Technet,有MultipleInstances
(包括StopExisting
值)可能的选项。
但是实际的功能使我只能选择Parallel
,Queue
或IgnoreNew
。
为什么我不能使用StopExisting
?
最佳答案
如果您看一下如何定义MultipleInstances
属性,您会发现它的类型实际上不是 TaskMultipleInstancePolicy
,而是生成的名为MultipleInstancesEnum
的类型:
PS C:\>(New-ScheduledTaskSettingsSet |Get-Member MultipleInstances).Definition
System.Object MultipleInstances {get=[Microsoft.PowerShell.Cmdletization.GeneratedTypes.ScheduledTask.MultipleInstancesEnum]($this.PSBase.CimInstanceProperties['MultipleInstances'].Value);set=$this.PSBase.CimInstanceProperties['MultipleInstances'].Value = [Microsoft.PowerShell.Cmdletization.GeneratedTypes.ScheduledTask.MultipleInstancesEnum]($args[0]);}
这已被归档为bug on Microsoft Connect,如果您希望更改它,请对其进行投票。
记者还提出了一种解决方法,将值设置为
StopExisting
:$StopExisting = New-ScheduledTaskSettingsSet
$StopExisting.CimInstanceProperties['MultipleInstances'].Value=3