1. 检查脚本是否有执行权限
- 按下 win +R 输入 secpol.msc 打开安全策略,检查是否容许执行计划任务
2.分配权限
双击作为批处理用户,添加计划任务的用户
3. 检查PowerShell是否拥有本地执行权限
打开powershell,输入get-executionpolicy 然后执行命令Set-ExecutionPolicy RemoteSigned
4. 如果脚本运行了,但是你写的是ps1的脚本,是记事本打开的话.可以采用以下方式解决
- 配置的时候,运行路径设置为powershell的路径,参数设置脚本文件的路径,win+r ,输入taskschd.msc 打开计划任务
2. 修改注册表: win+r ,输入regedit.msc,打开注册表.找到:
计算机\HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command
将值修改为:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noLogo -ExecutionPolicy unrestricted -file "%1"
这里如果还是失败,powershell的运行脚本权限修改为 unrestricted ,打开powershell,设置Set-ExecutionPolicy unrestricted
5. 前面检查都没问题,还是运行失败. 需要重新加载权限配置
1. 启动开始菜单,输入 “cmd”,右键以管理员身份运行,执行下方两条命令:
RD /S /Q "%WinDir%\System32\GroupPolicyUsers"
RD /S /Q "%WinDir%\System32\GroupPolicy"
然后重启电脑,再执行下方命令:
gpupdate /force
再次重启电脑,查看问题是否解决。
2. 如果还存在问题,在进行powershell修复。 按 “Windows 徽标键+X”,启动 “Windows PowerShell(管理员)”,依次执行以下命令:
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-image /RestoreHealth
sfc /SCANNOW