PowerShell The term is not recognized as cmdlet function script file or operable program

241,222

Solution 1

You first have to 'dot' source the script, so for you :

. .\Get-NetworkStatistics.ps1

The first 'dot' asks PowerShell to load the script file into your PowerShell environment, not to start it. You should also use set-ExecutionPolicy Unrestricted or set-ExecutionPolicy AllSigned see(the Execution Policy instructions).

Solution 2

For the benefit of searchers, there is another way you can produce this error message - by missing the $ off the script block name when calling it.

e.g. I had a script block like so:

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

I tried calling it using:

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

But that errored. The correct way was:

&$qa -question "Do you like powershell?" -answer "Yes!"
Share:
241,222
user3505712
Author by

user3505712

Updated on September 27, 2021

Comments

  • user3505712
    user3505712 over 2 years

    I am implementing a script in powershell and getting the below error. The sceen shot is there exactly what I entered and the resulting error.

    enter image description here

    At this path there is file Get-NetworkStatistics.ps1 which I got from Technet Gallery. I am following the steps from it, though there are errors.