2016-11-25 7 views
0

ログファイルをアーカイブするpowershellスクリプトがあります。このスクリプトは、スケジュールされたタスクから指定されたユーザーのLogArchiverとして毎日実行されることを意図しています。スケジュールされたタスクからpowershellを実行すると、ユーザーディレクトリのaws-cli資格情報が認識されないのはなぜですか?

スクリプトはaws-cliを使用してファイルをS3にコピーし、awsドキュメントで推奨されているように、ユーザーディレクトリC:\ Users \ LogArchiver \ .awsに格納されているバケットにアクセスするのに十分な認証情報が必要です。

ユーザーとして実行しているPowerShellターミナルからスクリプトを実行すると、資格情報が認識され、S3にファイルが正常にコピーされます。それがスケジュールされたタスクから実行されている場合しかし、それはAWSの資格情報を認識し、ファイルへのトランスクリプトを書くことのメッセージを示していません。これは、それまでの任意の修正理由

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

誰もが知っているの?私はスケジューリングされたタスクについて、環境変数に面白いことをしているが、それが私が持っている問題を引き起こすかどうかは分からない別の記事を読みました。

+0

スケジュールされたタスクは、資格情報ファイルを持つユーザーとして実行されていますか。 –

+0

はい、ユーザーとして実行するように設定されています。また、そのユーザーとして実行されていることをTranscriptファイルで確認します。 ********************** Windows PowerShellの転写開始は、開始時刻 :20161124184413 ユーザー名:LogArchiver のRunAsユーザー:LogArchiver ... – CBurbidge

答えて

0

それは、サーバ2012のバグだったと私のための「修正」は

とスクリプトの先頭にUSERPROFILE環境変数を変更することでした。このパッチ https://support.microsoft.com/en-gb/kb/3133689

によって固定されていることが判明​​

エレガントではありませんが、機能します。

関連する問題