如何在 Windows 8 中安排 Powershell 脚本每天凌晨 3 点运行?
答案1
编辑:这是一个对我有用的概念证明。
打开一个新的文本文件并输入
write-Host 'Hello World'
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
将其另存
hello.ps1
为桌面使用提升的权限打开 32 位版本的 powershell.exe
(右键单击 + 以管理员身份打开)
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
确保你没有使用 x64 版本,除非你想
C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe
在我的 Windows 7 上,“Windows PowerShell (x86)”开始菜单快捷方式指向 x64版本!这些版本使用单独的政策设置。我花了一段时间才搞明白 :)
输入以下内容以允许 powershell 脚本并使用以下方式确认Y
Set-ExecutionPolicy Unrestricted
该设置将永久保存。请重新启动以检查。
检查 powershell 策略并确认它仍然不受限制
get-ExecutionPolicy
打开计划任务窗口
制定一个指向 x86 版本的计划任务
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
输入以下内容作为可选参数:
c:\users\YOURUSERNAME\desktop\hello.ps1
通过在计划任务窗口中单击鼠标右键来手动执行任务
不知道为什么它说“正在运行”
点击F5刷新。您将注意到“仍在运行”状态消失了。
答案2
运行“taskschd.msc”,导航到 Powershell 并创建作业/计划。
答案3
我花了一段时间才让我的计划 PowerShell 任务正常运行。
以下是对我有帮助的一些策略。
a) 使一个简单的 PowerShell 脚本运行。b
) 了解所有各种任务管理器选项卡,包括条件和操作(我认为您已经这样做了)
c) 查看各种文件的路径。
我最大的问题是没有意识到 PowerShell 是一个程序,而脚本只是一个参数。
另一个小帮助是在文件名前引入 -ExecutionPolicy Bypass,如下所示:
-ExecutionPolicy Bypass -File "D:\PShell\Process Task.ps1"
最后,我从来不确定超级用户礼仪,但这是我关于调度 PowerShell。