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

前端 未结 3 667
灰色年华
灰色年华 2020-12-28 12:13

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.

相关标签:
3条回答
  • 2020-12-28 12:48

    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).

    0 讨论(0)
  • 2020-12-28 12:54

    Yet another way this error message can occur...

    If PowerShell is open in a directory other than the target file, e.g.:

    If someScript.ps1 is located here: C:\SlowLearner\some_missing_path\someScript.ps1, then C:\SlowLearner>. ./someScript.ps1 wont work.

    In that case, navigate to the path: cd some_missing_path then this would work:

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

    0 讨论(0)
  • 2020-12-28 12:57

    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!"
    
    0 讨论(0)
提交回复
热议问题