任务计划程序-如何运行具有多个参数的 powershell 脚本?

任务计划程序-如何运行具有多个参数的 powershell 脚本?

我使用 powershell.exe 作为程序并使用“ -Command "& C:\Windows\logon.ps1; exit $LASTEXITCODE"; ExecutionPolicy RemoteSigned”作为参数,但它似乎不起作用。

我想要的一些事情:

  1. 在任务计划程序中获取结果,以便我知道一切是否正常或是否有错误

  2. 将脚本的输出放入 output.txt 文件中(增量文件可以吗?)

  3. 隐藏运行脚本

答案1

我不知道您是否忘记了问题中的 - 但它是-ExecutionPolicy。如果该脚本未签名,则它也不会执行该脚本,您可以将其用作bypass执行策略来排除这种情况。

我怀疑您是否可以在命令行中连续运行脚本和命令。将 添加exit $LASTEXITCODE到脚本中,然后使用 运行它-File C:\script.ps1

如果隐藏运行你的意思是没有控制台窗口,我通常这样调用我的脚本

powershell.exe -noprofile -executionpolicy bypass -file C:\script.ps1

却永远看不到窗户。

要将脚本的输出放入文件中,请将命令导入Tee-Object

"Hello World" | Tee-Object C:\output.file

您可以随意命名文件,在脚本中实现逻辑以使文件名递增,或者 - 我个人最喜欢的 - 在文件名中使用 YYYYMMddhhmmss。


更新

另外,取自Microsoft 的 Technet 页面在 Powershell 上:

脚本块必须用括号 ({}) 括起来。您可以仅在 Windows PowerShell 中运行 PowerShell.exe 时指定脚本块. 脚本的结果作为反序列化的 XML 对象而不是活动对象返回到父 shell。

如果 Command 的值是字符串,命令必须是命令中的最后一个参数,因为在命令后输入的任何字符都将被解释为命令参数

相关内容