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

PowerShell脚本函数加载失败求助:Get-My-PlainText调用报错

问题原因分析

你的scriptB.ps1里的代码存在两个关键问题:

  • powershell .\my_functions.ps1会启动一个独立的PowerShell子进程执行脚本,函数仅在这个子进程中生效,当前脚本所在的主进程无法访问这些函数。
  • Import-Module是用来导入PowerShell模块文件(后缀为.psm1)的命令,直接导入普通.ps1脚本不会加载其中的函数定义。
解决方法

以下三种方法任选其一即可彻底解决问题:

方法一:使用点 sourcing 加载脚本(最简单直接)

修改scriptB.ps1的内容,替换原有两行代码为:

. .\my_functions.ps1

这里的.(点)是PowerShell的点 sourcing语法,作用是在当前PowerShell进程中执行指定脚本,脚本里的函数会直接被定义到当前会话中,后续就能正常调用Get-My-PlainText。

方法二:转换为PowerShell模块(适合长期复用)

如果这个函数需要在多个脚本中复用,推荐将其转为标准模块:

  1. 把my_functions.ps1重命名为my_functions.psm1(模块文件的标准后缀)。
  2. 修改scriptB.ps1的导入代码为:
Import-Module .\my_functions.psm1

或者在脚本顶部使用更现代的模块声明(PowerShell 5.1及以上版本支持):

using module .\my_functions.psm1

模块导入后,其中的函数会被加载到当前会话,可直接调用。

方法三:检查函数名称大小写(可选)

错误信息中显示的是Get-My-Plaintext(最后一个t小写),而你定义的函数是Get-My-PlainText(最后一个T大写)。虽然PowerShell默认大小写不敏感,但保持调用名称和定义完全一致可以避免潜在的意外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:01:13