我正在编写一个脚本,将用户的输入传递给 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'