任务计划程序- Powershell脚本未启动?

iyfjxgzm  于 2022-12-18  发布在  Shell
关注(0)|答案(1)|浏览(184)

我已经在PowerShell中创建了许多脚本,如果我直接执行它们,它们会按预期工作,但是,当我尝试在任务计划程序中设置一个计划来运行这些脚本(以最高权限运行)时,它似乎根本没有运行任何东西。
我在操作中运行以下内容:
powershell.exe -ExecutionPolicy Bypass -File C:\PS\Mailboxes\CheckForwardingList.ps1
我得到的“上次运行结果”为0x0,上述脚本的特定目的是从EXO生成一个TXT文件,然后通过SMTP发送出去,我还没有收到任何电子邮件,我也没有看到脚本所在的文件夹中生成任何TXT。
我确实有两个额外的脚本安装程序没有运行,但一旦我解决了上面的问题,这应该很快纠正的问题。

bfrts1fy

bfrts1fy1#

我喜欢先从命令提示符测试PowerShell脚本。
例如,一个名为C:\Tests\Test-PowerShellScriptsRunning.ps1的脚本只包含以下一行代码,它帮助我测试脚本是否可以在计算机上成功运行

Write-Host -ForegroundColor Yellow "If you see this, then your script is running"

接下来,我从命令提示符下运行此脚本,以在我的计划任务中获得正确的语法:

powershell.exe -nologo -file c:\Tests\Test-PowerShellScriptsRunning.ps1

当然,您可以添加-Executionpolicy bypass参数,但是我更愿意先测试执行策略。
但是,由于您正在运行连接到ExchangeOnline的脚本,我怀疑这与您运行此任务的用户有关。如果您使用凭据运行此任务,脚本是否会运行,或者凭据是否存储在系统或脚本中?
您可能想查看本文,了解如何在不将凭据存储在计算机上的情况下注册应用并进行身份验证,以便在无人参与的情况下运行脚本:App-only authentication for unattended scripts in the EXO V2 module

相关问题