我有一个监视图像文件夹的PowerShell脚本。我需要找到一种方法,以自动运行这个脚本后,计算机启动。
我已经尝试了以下方法,但我无法使它发挥作用。
msconfig
并将PowerShell脚本添加到启动,但我在列表中找不到PowerShell脚本。taskschd.msc
添加一个基本任务。它仍然不起作用。
这是我发现的,也许这将有助于调试它。
如果我打开一个PowerShell窗口并在那里运行脚本,它就能工作。但如果我在命令提示符下运行,
powershell.exe -File "C:\Doc\Files\FileMonitor.ps1“
这是行不通的。我不确定这是许可问题还是其他问题。
顺便说一句,我已经安装了PowerShell 3.0,如果我输入$host.version,它将显示3。但我的powershell.exe似乎仍然是1.0版。
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe发布于 2015-08-24 18:41:17
我终于让我的PowerShell脚本在每次启动时都能自动运行。您需要创建两个文件:第一个是Powershell脚本(例如script.ps1
),第二个是包含将在命令提示符(例如startup.cmd
)上运行的命令的.cmd文件。
第二个文件是计算机启动时需要执行的文件,简单地将.ps1粘贴到启动文件夹中是行不通的,因为这并不能真正执行脚本--它只会用记事本打开文件。您需要执行.cmd,它本身将使用PowerShell执行.ps1。好了,别唠叨了,走到台阶上:
%USERPROFILE%\Desktop**script.ps1**
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup**startup.cmd**
这样做将在每次启动时执行cmd文件。下面是如何创建.cmd文件的链接,如果你需要帮助的话。
PowerShell -Command "Set-ExecutionPolicy Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell %USERPROFILE%\Desktop\script.ps1 >> "%TEMP%\StartupLog.txt" 2>&1
这将做两件事:
此代码专门用于PowerShell v1.0。如果您运行的是PowerShell v2.0,则可能会有一些不同。在任何情况下,都要检查本源的.cmd代码。
现在,您已经将.ps1和.cmd文件放在各自的路径中,并为每个文件编写了脚本,您已经做好了准备。
发布于 2013-12-13 20:22:45
您可以将其设置为计划任务,并将任务触发器设置为“启动时”
发布于 2016-12-31 06:24:32
我所做的是创建一个快捷方式,我把它放在shell中:启动。
该快捷方式具有以下内容:
目标:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "C:\scripts\script.ps1"
(用所需的内容替换scripts\scripts.ps1 )
开始:C:\scripts
(用包含脚本的文件夹替换脚本)
https://stackoverflow.com/questions/20575257
复制相似问题