您好我有一个CmdExec
步骤的SQL Server作业,如下所示:
powershell.exe -file D:\Script\test.ps1
目前PowerShell脚本就是这样:
aws s3 ls s3://backup-sql-day/
好奇地,这份工作非常出色,而且还有这条消息。
The term 'aws' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At D:\Script\teste.ps1:1 char:1 + aws s3 ls s3://backup-sql-day/ + ~~~ + CategoryInfo : ObjectNotFound: (aws:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException.Process Exit Code 0. The step succeeded.
因此脚本没有运行,也没有向我报告错误,事情是我似乎无法在SQL Server作业上运行任何AWS脚本,但我可以正常运行任何用户,有没有人知道如何解决这个问题?
答案 0 :(得分:5)
(unmangled)错误消息实际上是不言自明的。该脚本确实运行,但找不到aws
命令行工具。 AWS CLI安装的路径未包含在PATH
环境变量中,或者SQL Server作业忽略系统环境。
您可以通过在脚本中添加路径来解决此问题:
$env:Path += ';C:\Program Files\Amazon\AWSCLI'
aws s3 ls s3://backup-sql-day/
将C:\Program Files\Amazon\AWSCLI
替换为安装该工具的文件夹。