我正在 powershell 中实现一个脚本并收到以下错误。屏幕截图正是我输入的内容以及由此产生的错误。
在此路径中有一个文件
Get-NetworkStatistics.ps1
,我从 Technet Gallery 获得。我正在按照其中的步骤进行操作,尽管存在错误。
您首先必须“点”获取脚本源,所以对您来说:
. .\Get-NetworkStatistics.ps1
第一个“点”要求 PowerShell 将脚本文件加载到您的 PowerShell 环境中,而不是启动它。您还应该使用
set-ExecutionPolicy Unrestricted
或 set-ExecutionPolicy AllSigned
请参阅(执行策略说明)。
为了搜索者的利益,还有另一种方法可以生成此错误消息 - 调用脚本块名称时省略 $ 。
例如我有一个像这样的脚本块:
$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!"
出现此错误消息的另一种方式。
如果 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