You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本在ISE正常运行,CLI提示Invoke-LMFunction未识别

问题排查步骤

核心原因分析

你遇到的问题本质是:PowerShell ISE环境自动加载了AWS.Tools.Lambda模块,但通过pwsh.exe -NonInteractive -NoProfile执行时,因为禁用了配置文件(-NoProfile)且脚本未显式导入模块,导致系统找不到Invoke-LMFunction cmdlet。

具体排查&解决步骤

  1. 在脚本开头强制导入模块
    打开你的test.ps1,在最顶部添加一行显式导入模块的代码,指定版本确保匹配:

    Import-Module AWS.Tools.Lambda -RequiredVersion 4.1.466
    

    因为-NoProfile会跳过PowerShell启动时的配置加载,而默认情况下PowerShell不会自动按需加载所有模块,显式导入能保证模块被加载。

  2. 检查模块安装的用户范围
    打开PowerShell(不用-NoProfile),运行以下命令查看模块安装路径:

    Get-Module -ListAvailable AWS.Tools.Lambda
    
    • 如果路径是C:\Users\<你的用户名>\Documents\PowerShell\Modules:说明模块仅安装在当前用户目录,若你用其他身份(比如管理员)运行CLI,会找不到模块。此时重新安装模块到全局范围:
      Install-Module AWS.Tools.Lambda -RequiredVersion 4.1.466 -Scope AllUsers -Force
      
    • 如果路径是C:\Program Files\PowerShell\Modules:说明是全局安装,这一步可以跳过。
  3. 确认pwsh版本匹配
    运行以下命令确认调用的是PS7:

    pwsh.exe -Version
    

    AWS.Tools系列模块仅支持PowerShell 7+,如果误调用了旧版powershell.exe(Windows默认的PowerShell 5.1),会出现找不到cmdlet的问题。

  4. 验证cmdlet名称拼写
    在能正常运行的ISE里执行以下命令,确认cmdlet的正确名称:

    Get-Command -Module AWS.Tools.Lambda
    

    确保脚本里的Invoke-LMFunction没有拼写错误(比如误写成Invoke-LambdaFunction或其他变体)。

内容的提问来源于stack exchange,提问作者SimonB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:37:23