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

WinRM远程执行PowerShell脚本:如何启动后无需等待完成?

解决Invoke-Command远程SCCM更新脚本无法后台持续运行的问题

问题根源

你当前的脚本中,远程执行的powershell.exe进程会依附于Invoke-Command创建的临时远程会话。当-AsJob的作业执行完毕(脚本块代码跑完),远程会话会被关闭,连带终止子进程,导致SCCM更新脚本无法继续运行。

解决方案

方案1:用Start-Process启动独立进程

修改远程脚本块,通过Start-Process启动脱离会话的独立PowerShell进程,同时可重定向日志方便排查:

$job = Invoke-Command -ComputerName $hostname -ScriptBlock {
    # 拼接脚本参数,注意路径转义
    $scriptArguments = "-ExecutionPolicy Bypass -File `"$using:localScriptPath`" -InstallApproved"
    # 启动独立进程,重定向输出到日志文件
    Start-Process powershell.exe -ArgumentList $scriptArguments `
        -NoNewWindow `
        -RedirectStandardOutput "C:\temp\sccm_update_success.log" `
        -RedirectStandardError "C:\temp\sccm_update_error.log"
} -AsJob -Credential $credentials

这种方式让脚本进程独立于Invoke-Command的会话,即使作业完成、会话关闭,更新脚本仍会在远程服务器后台持续运行。

方案2:通过任务计划执行(更稳定可靠)

如果方案1仍存在会话依赖问题,可借助Windows任务计划服务托管脚本执行,完全脱离PowerShell会话:

$job = Invoke-Command -ComputerName $hostname -ScriptBlock {
    # 生成唯一任务名避免冲突
    $uniqueTaskName = "SCCM_Update_Task_$(Get-Random)"
    # 创建任务执行动作
    $taskAction = New-ScheduledTaskAction -Execute "powershell.exe" `
        -Argument "-ExecutionPolicy Bypass -File `"$using:localScriptPath`" -InstallApproved"
    # 设置5秒后触发的一次性任务
    $taskTrigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddSeconds(5)
    # 配置任务运行设置:允许电池运行、隐藏窗口
    $taskSettings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries `
        -DontStopIfGoingOnBatteries `
        -Hidden
    # 注册并启动系统级任务(避免权限问题)
    Register-ScheduledTask -TaskName $uniqueTaskName `
        -Action $taskAction `
        -Trigger $taskTrigger `
        -Settings $taskSettings `
        -User "NT AUTHORITY\SYSTEM" | Out-Null
    Start-ScheduledTask -TaskName $uniqueTaskName

    # 可选:设置任务执行完成后24小时自动删除
    # Update-ScheduledTask -TaskName $uniqueTaskName -Settings (New-ScheduledTaskSettingsSet -DeleteAfter (New-TimeSpan -Hours 24))
} -AsJob -Credential $credentials

任务计划由系统服务托管,完全不受Invoke-Command会话生命周期影响,是长期运行脚本的更可靠选择。

内容的提问来源于stack exchange,提问作者Christopher Luck

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:12:36