我发现了一个脚本,可以删除X天以上的文件并进行了一些更改,以便我扫描不同的networking文件夹,以查看是否有超过X天的文件。 现在,当我使用PowerShell ISE运行脚本时,该脚本正常工作,正在做它应该做的事情。 这大约需要一个小时。
现在,当我尝试使用Windows 任务计划程序计划脚本时, 任务将在10秒钟后启动并完成,但脚本未运行。 那么没有文件被删除?
计划任务设置:
一般
使用具有作为批处理权限login的帐户运行任务
运行用户是否login
以最高的权限运行
触发
行动
程序/脚本:运行一个程序C:\ windows \ system32 \ windowspowershell \ v1.0 \ powershell.exe
参数:-File“C:\ scripts \ deletefiles.ps1”
我究竟做错了什么? 或者为什么不运行脚本?
脚本可以在这里find 。
您需要Set-ExecutionPolicy,以便运行计划任务的帐户被允许执行PowerShell脚本:
Set-ExecutionPolicy -Scope LocalMachine Unrestricted
根据Set-ExecutionPolicy的帮助文件,LocalMachine的作用域为该计算机的所有用户设置策略。 相对于如果您只是从您自己的用户帐户Set-ExecutionPolicy Unrestricted ,它只会为您自己的用户帐户设置该策略。 此外,还有针对32位和64位版本PowerShell的单独策略。
而且,如果Set-ExecutionPolicy -Scope LocalMachine Unrestricted对您来说是一个安全性过高的问题,您可以通过以该用户身份login并执行该操作,或者在该用户的安全上下文中执行一个进程,该用户的策略。
噢,也许,这可能不需要说,但我们不知道您分配给此计划任务的用户是否具有从这些UNCpath中删除内容所需的权限。