运行使用任务计划程序时,我的PowerShell脚本不会保存到文件; 我是否需要指定一个特定的参数?

我有一个脚本,下载一个临时的Excel文件,将其中的一部分复制到一个新的文件,并将其保存到networking上的特定位置。

问题是,新的文件永远不会被创build/保存。 如果我在本地运行脚本(通过cmd.exe,PowerShell或PowerShell ISE ),它会将文件保存在本地或networking中。 如果我尝试通过日程安排或通过任务计划程序按需运行脚本,则会创build临时文件,但不会创build或保存最终文档。 是否有我需要通过的具体论证,或者我可能做错了什么? 这是我目前使用的命令:

powershell.exe -file C:\path\to\my\powershell\script\thescript.ps1 

由于它调用了环境variables和其他相对于脚本位置的variables,我还将“Start in”设置为

  C:\path\to\my\powershell\script\ 

我曾尝试使用

  \\MYSERVER\Path\To\Directory\file.xlsx 

作为networking上文件的位置( 如这里所build议的 ),但是这也不起作用。

当您运行脚本时,脚本将起作用,因为您有权访问目标位置。 默认情况下,计划任务以本地系统用户身份运行。

您应该在您的域中为此创build一个新的专用用户,并完全授予其完成此任务所需的权限(并且不再需要),并将您的计划任务configuration为以该用户身份运行。

你如何在powershell脚本中指定你的参数(你可以发布一个片段与有问题的部分)? 从Task Scheduler调用时,通常需要double quotes

如果从Powershell command prompt调用脚本,脚本是否工作?

这个问题可能会有所帮助。 不完全一样的东西,但我敢打赌,它的类似的解决scheme。

这里是另一个可能有助于解决这个问题的TechNet文章。 小结:

 Found the answer to this - enclosing my entire arguments in double quotes and then my parameters in single quotes ensured that the correct values were being passed to my parameters.