我尝试添加 New-ScheduledTaskSettingsSet带有自定义设置。根据 Technet,MultipleInstances
有可能的选项,包括 StopExisting
值。
但实际的 powershell 只允许我选择 Parallel
、Queue
或 IgnoreNew
。
为什么我不能使用 StopExisting
?
最佳答案
如果你看一下 MultipleInstances
属性是如何定义的,你会发现它的类型实际上是 not 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
关于Powershell New-ScheduledTaskSettingsSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241031/