PowerShell Термин не распознается как функция командлета script файл или операционная программа
Я внедряю script в powershell и получаю следующую ошибку. Sceen shot - это именно то, что я ввел, и полученную ошибку. ![enter image description here]()
На этом пути есть файл Get-NetworkStatistics.ps1, который я получил от здесь. Я следую шагам от него, хотя есть ошибки.
Ответы
Ответ 1
Сначала вам нужно "выровнять" источник script, поэтому для вас:
. .\Get-NetworkStatistics.ps1
Первая "точка" просит PowerShell загрузить файл script в среду PowerShell, а не запускать его. Вы также должны использовать set-ExecutionPolicy Unrestricted
или set-ExecutionPolicy AllSigned
см. (инструкции политики выполнения).
Ответ 2
В интересах поисковиков есть еще один способ, которым вы можете создать это сообщение об ошибке - если вы не указали значение $off script при его вызове.
например. У меня был блок script вроде:
$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