在Windows 8中安排Powershell脚本?


1

如何安排Powershell脚本在Windows 8中每天凌晨3点运行?


1
你试过什么了?您是否尝试使用任务计划程序?使用powershell /?知道如何从命令行运行PS1脚本。
Karan

我尝试使用任务计划程序来运行脚本,但是当我尝试通过从计划程序运行它来测试它时,它的状态更改为正在运行并且永远不会完成。请注意,我测试了脚本,如果右键单击它并使用Powershell运行它,它会成功运行并退出。
Wesley Tansey

您应该在原始问题中提到这一点,否则您将在下面看到,人们将浪费时间教您如何创建计划任务。您是否尝试将任务设置为以管理员/最高权限运行?
Karan

是的,我也试过了。它设置为以最高权限运行。
Wesley Tansey

1
为什么不设置几分钟的触发器。从现在起,简单地测试?
Karan

Answers:


2

编辑:这是一个对我有用的概念证明。

  1. 打开一个新的文本文件并输入
    write-Host 'Hello World'
    $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

  2. 将其保存hello.ps1在桌面上

  3. 使用提升的权限打开32位版本的powershell.exe
    (右键单击+以管理员身份打开)
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  4. 确保您没有使用x64版本,直到您想要
    C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe

  5. 在我的Windows 7上,“Windows PowerShell(x86)”startmenu快捷方式指向x64版本!这些版本使用单独的策略设置。我花了一段时间才弄明白:)

  6. 键入以下内容以允许PowerShell脚本并使用它进行确认 Y
    Set-ExecutionPolicy Unrestricted

  7. 该设置将永久存储。重新启动只是为了检查。

  8. 检查powershell策略并确认它仍然不受限制
    get-ExecutionPolicy

  9. 打开计划任务窗口

  10. 制作一个指向x86版本的计划任务
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

  11. 为可选参数键入以下内容:
    c:\users\YOURUSERNAME\desktop\hello.ps1

  12. 通过右键单击计划任务窗口,手动执行任务

  13. 不知道为什么它说“跑”

  14. 点击F5刷新。你会注意到“仍在运行”的状态消失了。

  15. 快乐(1小时后:p)


这不起作用。请在原帖中查看我的评论。
Wesley Tansey

您在任务计划程序中使用的确切语法是什么?
nixda

我按照你在编辑中建议的方式尝试了它。它仍然只是将状态更改为Running并且永远不会完成。
Wesley Tansey

请看我的完整编辑。必须有一个正常的方式。
nixda

关于步骤6,它应该说“用它确认Y”(而不是J)。我意识到这是J因为您的Windows显示语言设置为德语,但SU通常采用英语本地化,除非另有说明。
Indrek 2013年


0

我花了一段时间才使我的Scheduled PowerShell任务正常工作。

以下是一些帮助我的策略。

a)获取一个简单的PowerShell脚本。
b)了解所有各种任务管理器选项卡,包括条件和操作(我认为您已经完成此操作)
c)观察各种文件的路径。


我的杀手问题是没有意识到PowerShell是程序,脚本只是一个参数。

另一个小帮助是在文件名之前引入-ExecutionPolicy Bypass:
-ExecutionPolicy Bypass -File“D:\ PShell \ Process Task.ps1”

最后,我不确定SuperUser的礼节,但这是关于Scheduling PowerShell主题的页面。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.