You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell调用New-ScheduledTaskTrigger无法传入变量值问题求助

问题根因

Invoke-Command 执行的远程脚本块运行在目标计算机的独立会话空间中,默认无法直接读取本地会话定义的$time变量,因此脚本块内引用的$time实际为null,传给New-ScheduledTaskTrigger的-At参数时触发类型转换报错。

修复方案

方案1(推荐,适用于PowerShell 3.0及以上版本)

使用$using:修饰符直接引用本地会话变量:

# 本地提前转换为DateTime类型,避免格式解析问题
$time = [datetime]"02:40 AM"

Invoke-Command -ComputerName "pc01" -ScriptBlock {
    $trigger = New-ScheduledTaskTrigger -Daily -At $using:time
    Set-ScheduledTask -Trigger $trigger -TaskName R
}

方案2(兼容PowerShell 2.0旧版本)

通过-ArgumentList参数传递变量,在脚本块内显式接收:

$time = [datetime]"02:40 AM"

Invoke-Command -ComputerName "pc01" -ArgumentList $time -ScriptBlock {
    param($passedTime)
    $trigger = New-ScheduledTaskTrigger -Daily -At $passedTime
    Set-ScheduledTask -Trigger $trigger -TaskName R
}

内容的提问来源于stack exchange,提问作者Elo Bizne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:09:03