PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序

Posted

技术标签:

【中文标题】PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序【英文标题】:PowerShell The term is not recognized as cmdlet function script file or operable program 【发布时间】:2014-08-01 03:05:08 【问题描述】:

我在 powershell 中实现一个脚本并得到以下错误。屏幕截图正是我输入的内容以及由此产生的错误。

在这个路径有我从Technet Gallery 得到的文件Get-NetworkStatistics.ps1。尽管有错误,但我正在按照它的步骤操作。

【问题讨论】:

截图无效 相关帖子 - Error: The term './RunCommandLine.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program 【参考方案1】:

你首先必须'点'源脚本,所以对你来说:

. .\Get-NetworkStatistics.ps1

第一个“点”要求 PowerShell 将脚本文件加载到您的 PowerShell 环境中,而不是启动它。您还应该使用set-ExecutionPolicy Unrestrictedset-ExecutionPolicy AllSigned 请参阅(the Execution Policy instructions)。

【讨论】:

【参考方案2】:

为了搜索者的利益,还有另一种方法可以生成此错误消息 - 在调用它时忽略脚本块名称中的 $。

例如我有一个这样的脚本块:

$qa = 
    param($question, $answer)
    Write-Host "Question = $question, Answer = $answer"

我尝试使用以下方式调用它:

&qa -question "Do you like powershell?" -answer "Yes!"

但那是错误的。正确的做法是:

&$qa -question "Do you like powershell?" -answer "Yes!"

【讨论】:

【参考方案3】:

出现此错误消息的另一种方式...

如果 PowerShell 在目标文件以外的目录中打开,例如

如果someScript.ps1 位于此处:C:\SlowLearner\some_missing_path\someScript.ps1,那么C:\SlowLearner>. ./someScript.ps1 将不起作用。

在这种情况下,导航到路径: cd some_missing_path 然后这样就可以了:

C:\SlowLearner\some_missing_path>. ./someScript.ps1

【讨论】:

嗯,是的,因为在路径中,. 表示“当前目录”。如果您不尝试使用当前目录中的某些内容,那么 . 将是无效路径。您不需要切换目录以便. 工作,只需指定一个实际有效的路径:. C:\SlowLearner\some_missing_path\someScript.ps1 @AndrewF - 确实如此。其目的只是为了说明这种错误是如何产生的。

以上是关于PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序的主要内容,如果未能解决你的问题,请参考以下文章

行为:术语“行为”未被识别为 cmdlet Python Selenium 的名称

术语“更新 - 数据库”未被识别为cmdlet的名称

ng :术语“ng”未被识别为 cmdlet 的名称,函数 Visual Studio 代码终端

ssh:术语“ssh”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

eb :术语“eb”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

cl:术语“cl”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称