当前有一个解决方案,可以在客户端的EC2 Windows计算机上远程执行PowerShell脚本。在脚本中,我们通过AWS提供的PowerShell SDK进行了一些API调用。以Get-EC2Instance
为例,这是一种简单的描述操作。
大多数情况下,运行正常,返回描述的实例列表。
但是,在某些情况下,返回了
Get-EC2Instance : The term 'Get-EC2Instance' is not recognized as the name of a cmdlet, function, script file, or operable program.
造成这种情况的真正原因仍然困扰着我,但是我最初的猜测是没有加载实际的PowerShell模块,因此我再次调整了脚本:在脚本顶部添加Import-Module AWSPowerShell
,希望这样可以解决问题,但是会返回Import-Module : The specified module 'AWSPowerShell' was not loaded because no valid module file was found in any module directory.
我知道在某些实例上安装了AWSPowerShell
模块,因此我不敢向脚本中添加Install-Module AWSPowerShell
。
这是SSM的问题,在所述实例上没有足够的权限来读取PSModule目录吗?
这是PowerShell版本的问题,因为这些版本的模块安装在不同的位置,或者我必须直接指向模块的.dll文件?
我正在寻找可以在PowerShell命令和/或初始化方面向我提供有关AWS Windows Machines如何与SSM交互的更多信息的任何人。