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

ruarlubt  于 2023-06-06  发布在  Shell
关注(0)|答案(3)|浏览(667)

我在powershell中实现了一个脚本,并得到下面的错误。sceen镜头是有正是我输入和由此产生的错误。

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

btqmn9zl

btqmn9zl1#

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

. .\Get-NetworkStatistics.ps1

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

qpgpyjmq

qpgpyjmq2#

对于搜索者来说,还有另一种方法可以产生此错误消息-在调用脚本块时忽略脚本块名称的$。
例如,我有一个这样的脚本块:

$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!"
agxfikkp

agxfikkp3#

此错误消息可能发生的另一种方式...

如果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

相关问题