PowerShell 脚本运行一次

PowerShell script runs once

Powershell 版本 3 我在文件 ONE.ps1:

中写函数
Function ONE {
Write-Output "test1";
}

然后我在同一目录中创建文件 !运行.ps1,内容为:

import-module D:\ps\ONE.ps1
ONE

在我 运行 PS 控制台之后,我只能执行此代码 1 次:

.\!RUN.ps1

输出:test1

但是当我第二次尝试这样做时,我得到了一个错误:

ONE : The term 'ONE' is not recognized as the name of a cmdlet, function, script file, or operable program.

重新启动控制台后,我再次执行成功,然后出现错误。

那么,您能指出问题出在哪里吗?

其他详细信息:在我创建此脚本后,我可以执行几次,但几天后,可能在重新启动后,出现此错误。所以也许我遗漏了一些我第一次编写时制作的导入指令,但忘记添加到最终脚本中。

Martin Brandl 的回答解决了问题:

import-module D:\ps\ONE.ps1 -force

但是如果有人知道其他方法 - 检查它们会很有趣。因为模块已经应该注册了。并且Get-Module命令可以看到这个模块,但是由于某些原因我不能使用它,有点不对。

Import-Module 上使用 -force 参数。