web-dev-qa-db-ja.com

PowerShellこの用語は、コマンドレット関数のスクリプトファイルまたは操作可能なプログラムとして認識されません

私はPowerShellでスクリプトを実装し、以下のエラーを取得しています。画面ショットは、私が入力したものとその結果のエラーが正確にあります。 enter image description here

このパスには、Get-NetworkStatistics.ps1というファイルがあります。これは here から取得しました。エラーがありますが、私はそれから手順に従います。

33
user3505712

最初にスクリプトを「ドット化」する必要があります。

. .\Get-NetworkStatistics.ps1

最初の「ドット」は、スクリプトファイルを起動するのではなく、PowerShell環境に読み込むようPowerShellに要求します。 set-ExecutionPolicy Unrestrictedまたはset-ExecutionPolicy AllSigned see( 実行ポリシーの指示 )も使用する必要があります。

49
JPBlanc

検索者の利益のために、このエラーメッセージを生成する別の方法があります-スクリプトブロック名を呼び出すときに、スクリプトブロック名から$が欠落することによって。

例えば次のようなスクリプトブロックがありました。

$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!"
1
HockeyJ