我有一个简单的PowerShell脚本,其中有1行。它登录到数据库,并运行查询的sql脚本,该脚本会删除旧数据。
sqlcmd -U myUser -P myPassword -S localHost -i .\deleteOldData.sql
当我在PowerShell窗口中手动运行脚本时,它运行良好。它将登录到数据库并清除旧数据。但是,当我在任务计划程序中创建一个基本任务并从那里运行它时,它说它已成功完成,但是看起来它什么都没做。它不会删除任何旧数据。
我的基本任务是像这样设置
Action: Start a program
Program/script: PowerShell
Add Arguments: C:\Users\Administrator\Desktop\script.ps1
答案 0 :(得分:0)
Windows 10 64位。 PowerShell 5.1
如果是安全/权限问题:
运行任务时,请使用以下用户帐户,以便可以观察正在运行的任务:“仅在用户登录时运行”和“以最高特权运行”。查找错误消息。
或者,创建任务的日志文件,以便您可以查找错误。通过这种方式创建日志文件时,您将在控制台窗口中看到减少的/无输出。日志文件将被锁定,直到操作完成。如果您不能等到操作完成,请重复打开和关闭日志文件以查看操作的进度。
-file C:\Users\Administrator\Desktop\script.ps1> %userprofile%\desktop\logfile.txt
PowerShell脚本操作:
-file C:\Users\Administrator\Desktop\script.ps1