3 回答
TA贡献1830条经验 获得超9个赞
对排定的任务进行故障排除在后方很麻烦,因为您无法真正看到正在发生的事情。这些是您可能要检查的一些事项:
检查您的命令行原则上是否正常运行,例如,通过CMD运行它(在您的情况下,请尝试运行powershell.exe -File "D:\script.ps1")。如果那给您带来任何错误,则需要首先修复这些错误。
如果您打算以特定用户身份运行任务,请以该用户身份启动CMD并运行相同的命令行,以检查该用户是否具有脚本正在执行的所有权限。
检查你的任务实际终止或者如果进程仍在运行(通过Process Explorer中,Get-Process任务管理器,...)。
检查上次运行结果中命令的退出代码。
启用计划任务的历史记录(操作→启用所有任务历史记录)。这将至少为您提供有关该任务正在执行的操作,是否开始执行以及是否/发生了哪些错误的一些信息。您需要管理权限才能启用任务历史记录。
检查事件日志中是否有与任务运行相关的错误/警告。
将日志记录语句添加到您正在运行的脚本中以记录进度信息。我个人更喜欢记录到事件日志,因为这样可以避免文件系统权限问题。
Write-EventLog -LogName Application -Source EventSystem -EventID 100 -EntryType Information -Message 'Your log message.'
如果您具有系统管理员权限,则可以注册自己的事件源,并在上面的日志语句中使用该事件源,而不用滥用现有的源,例如EventSystem:
New-EventLog -Source MyEventSource -LogName Application
进一步的帮助将在很大程度上取决于您从这些步骤获得的发现以及您的实际脚本代码。
TA贡献1796条经验 获得超7个赞
我所面对的主要观察结果很少:
powershell.exe
尝试给出完整的PS路径,而不是仅仅给出C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
。许可是另一个需要关注的问题。您正在通过其运行任务的用户可能没有运行该任务的权限。
执行策略:确保使用绕过执行策略
-ExecutionPolicy Bypass
。确保您以“ 最高特权”运行任务。
最后,通过分析日志。
TA贡献2065条经验 获得超13个赞
我发现此站点非常有用:http : //www.microsoftpro.nl/2011/07/07/how-to-schedule-a-powershell-script-using-scheduled-tasks-in-windows-server-2008 -r2 /
我还更改了安全选项属性,它有所帮助。
我没有检查:不要存储密码,现在它可以在不登录网络的情况下运行。
- 3 回答
- 0 关注
- 1613 浏览
添加回答
举报