为什么PowerShell从计划任务运行时无法识别用户目录中的aws-cli凭据?

时间:2016-11-25 11:24:27

标签: powershell amazon-s3 scheduled-tasks aws-cli

我有一个PowerShell脚本来存档日志文件。该脚本旨在作为指定用户每天从计划任务运行' LogArchiver'。

该脚本使用aws-cli将文件复制到S3并需要足够的凭据来访问存储在用户目录C:\ Users \ LogArchiver \ .aws中的存储桶,如aws文档中所建议的那样。

当我从作为用户运行的powershell终端运行脚本时,它识别凭据并成功将文件复制到S3。但是当它从计划任务运行时,它不会识别aws凭据并将Transcript写入文件显示消息:

Unable to locate credentials. You can configure credentials by running "aws configure".

任何人都知道这是为什么以及任何修复程序?我在另一篇文章中读过关于计划任务对环境变量做有趣事情但不确定是否会导致我遇到的问题。

1 个答案:

答案 0 :(得分:0)

原来这是服务器2012中的一个错误,并由此补丁修复 https://support.microsoft.com/en-gb/kb/3133689

'修复'对我来说,用

更改脚本顶部的USERPROFILE环境变量

$env:USERPROFILE = "C:\Users\LogArchiver"

不是很好,但有效。