【问题标题】:Run a script as hidden scheduled task with PowerShell使用 PowerShell 将脚本作为隐藏的计划任务运行
【发布时间】:2019-06-01 08:53:20
【问题描述】:

我想让桌面上的word文件按照我每天设定的时间移动到本地D盘。 我创建了一个计划任务,代码工作如下。

$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument 'Invoke-Command -ScriptBlock { Move-Item -Path $home\Desktop\*.doc -Destination D:\ }'
$trigger = New-ScheduledTaskTrigger -Daily -At 05:30pm
Register-ScheduledTask -TaskName "Task" -Action $action -Trigger $trigger -RunLevel Highest -Force

但是有一个问题。 我希望这个任务计时器以隐藏的方式完成,而不出现在 PowerShell 窗口中。

为了解决这个问题,我还想要一个类似下面的方法。

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-ExecutionPolicy Bypass -NoExit -NoProfile -WindowStyle Hidden Invoke-Command -ScriptBlock { Move-Item -Path $home\Desktop\*.doc -Destination D:\ }'
$trigger = New-ScheduledTaskTrigger -Daily -At 05:30pm
Register-ScheduledTask -TaskName "Task" -Action $action -Trigger $trigger -RunLevel Highest -Force

您能帮我修复我编写的代码以使计划任务在不出现 PowerShell 窗口的情况下运行吗?

【问题讨论】:

    标签: powershell task scheduled-tasks


    【解决方案1】:

    要在后台运行计划任务,请将其配置为无论用户是否登录都运行。由于您只想将文件从一个本地磁盘复制到另一个,我还建议您不要存储密码。 Invoke-Command 也不应该是必需的。直接运行Move-Item即可。

    $action    = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument 'Move-Item ...'
    $trigger   = New-ScheduledTaskTrigger -Daily -At 05:30pm
    $principal = New-ScheduledTaskPrincipal -UserId "$env:USERDOMAIN\$env:USERNAME" -LogonType "S4U" -RunLevel Highest
    
    Register-ScheduledTask -TaskName "Task" -Action $action -Trigger $trigger -Principal $principal -Force
    

    【讨论】:

    • 好吧,我解决了这个问题。您能解释一下分配给$principal 变量的值(参数)是什么意思吗?他们在做什么?例如为什么使用 -UserId-LogonType "S4U" 你在这里使用的 S4U 是什么意思? @Ansgar Wiechers
    • @HibritUsta "S4U" 代表“为用户服务”。这是一种委派身份验证的方式,因此您不需要将用户的凭据与任务一起存储。不过,我从来没有研究过它在技术层面是如何工作的。本质上,这是在配置任务以运行无论用户是否登录时检查“不存储密码”框的编程方式。有关其他参数的信息,请参阅documentation
    • 好吧,我明白了
    • 当我使用 `-LogonType "S4U"`` 我被拒绝访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2017-11-08
    • 2020-08-07
    相关资源
    最近更新 更多