我有一个包含以下函数的 powershell 脚本文件。它被称为my_functions.ps1
function Get-My-PlainText()
{
[CmdletBinding()]
param
(
[parameter(Mandatory = $true)][System.Security.SecureString]$SecureString
)
BEGIN { }
PROCESS
{
$bstr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString);
try
{
return [Runtime.InteropServices.Marshal]::PtrToStringBSTR($bstr);
}
finally
{
[Runtime.InteropServices.Marshal]::FreeBSTR($bstr);
}
}
END { }
}
我有另一个脚本(称为 scriptB.ps1),它应该在使用该文件引用的函数之前调用此函数文件
scriptB.ps1
通过在文件中运行以下命令来调用函数文件。
powershell .\my_functions.ps1
Import-Module .\my_functions.ps1
我收到以下错误。
The term 'Get-My-Plaintext' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is
| correct and try again.
目前,此行为发生在运行 powershell v 7.45 的 powershell 终端上,修复此问题的唯一方法是复制该函数并将其粘贴到终端上。
有没有办法解决这个问题并避免复制和粘贴函数,只有这个函数有这个问题。
提前致谢。