New-ScheduledTaskTrigger 使用变量作为 -DaysofWeek

New-ScheduledTaskTrigger 使用变量作为 -DaysofWeek

我正在编写一个脚本,将用户的输入传递给 Register-ClusteredScheduledTask,然后我尝试对 -DaysOfWeek 使用一个字符串,但只收到各种错误...

New-ScheduledTaskTrigger -Weekly -WeeksInterval $recur -DaysOfWeek $day -At $starttime

New-ScheduledTaskTrigger:无法处理参数“DaysOfWeek”的参数转换。无法将值“[dayofweek]Sunday,Wednesday,Saturday”转换为类型“System.DayOfWeek[]”。错误:“无法将值“[dayofweek]Sunday,Wednesday,Saturday”转换为类型“System.DayOfWeek”。错误:“无法将标识符名称[dayofweek]Sunday,Wednesday,Saturday与有效的枚举器名称匹配。请指定以下枚举器名称之一,然后重试:Sunday、Monday、Tuesday、Wednesday、Thursday、Friday、Saturday””

我确实注意到,在设置单独的日期时,系统会为每一天分配一个 64 位数字,从星期日 1 开始到星期六 64...

Enabled            : True
EndBoundary        :
ExecutionTimeLimit :
Id                 :
Repetition         :
StartBoundary      : 2020-03-28T02:00:00Z
DaysOfWeek         : 64
RandomDelay        :
WeeksInterval      : 1
PSComputerName     :

因此,如果我安排以下事项,我就会得到周日+周六的附加费用...

PS C:\Scripts\DCS> New-ScheduledTaskTrigger -Weekly -WeeksInterval $recur -DaysOfWeek Sunday,Saturday -At $starttime


Enabled            : True
EndBoundary        :
ExecutionTimeLimit :
Id                 :
Repetition         :
StartBoundary      : 2020-03-28T02:00:00Z
DaysOfWeek         : 65
RandomDelay        :
WeeksInterval      : 1
PSComputerName     :

我怎样才能将变量用于 -DaysOfWeek 并真正发挥作用而不引发某种错误?

我尝试了多种方法将字符串转换为日期,但效果有限。

当我使用[dayofweek]$day = 'Sunday,Saturday'

$day只是Saturday

答案1

[dayofweek]$day正在定义一个单值变量。您需要将其定义为一个数组:

$ [dayofweek[]]$day = 'Sunday','Saturday'

相关内容