如何在 Windows 10 上自动运行 PowerShell 脚本
PowerShell 具有许多不同的安全层,可以防止执行恶意脚本和命令。例如,默认情况下,除非更改 PowerShell 执行策略,否则您无法运行从 Internet 下载的脚本。另一种安全措施会阻止您通过双击脚本来执行该脚本。您无法将 PS1 脚本与 PowerShell 关联,运行脚本的唯一方法是右键单击它并选择运行选项。双击它将在记事本中打开它。这对于安全措施来说非常有用,但如果您希望在运行计划任务时执行 PowerShell 脚本,这会很烦人。解决方法很简单。您可以使用批处理脚本自动运行 PowerShell 脚本。
批处理脚本
以下是在 Windows 10 上自动运行 PowerShell 脚本所需的批处理脚本。每个 PowerShell 脚本都需要自己的批处理脚本。
语法
@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSE将“脚本路径”替换为要执行的 PowerShell 脚本的实际路径。考虑下面的例子;
示例
@ECHO OFF
PowerShell.exe -Command "C:\Reminder-Scripts\Milk\Buy-Milk.ps1"
PAUSE
打开记事本并将脚本粘贴到其中。使用 .bat 扩展名保存文件。
该批处理文件的作用是打开 PowerShell,然后运行您指向的脚本。您仍然无法双击桌面上的 PowerShell 脚本并使其在 PowerShell 中自动运行。当前文件将打开命令提示符窗口,并显示“按任意键继续”消息。当您按下某个键时,PowerShell 脚本才会运行。如果您希望脚本在无需干预的情况下运行,请编辑上述脚本并删除“PAUSE”行。它应该看起来像这样;
@ECHO OFF
PowerShell.exe -Command "Path to script"任务计划程序和 PowerShell 脚本
我们假设您希望自动运行 PowerShell 脚本作为计划任务的操作。为此,您需要首先创建相应的批处理脚本(如上所示)来运行 PowerShell 脚本。接下来,当您创建计划任务时,请在响应触发器时应采取的操作下选择批处理脚本。实际上,这将运行 PowerShell 脚本。
我们在这里使用任务计划程序作为示例,但如果您使用任何其他自动化应用程序,您仍然需要调用批处理脚本。唯一的例外是您使用的自动化应用程序可以打开 PowerShell 并将其指向 PowerShell 脚本。
