修正:このシステムではスクリプトの実行が無効になっています

このエラーは、ユーザーがジョブの一部としてPowerShellでスクリプトまたは特定のコマンドを実行しようとしたとき、またはPCでユーザーを悩ませている問題をトラブルシューティングしようとしたときに発生します。 多くの場合、スクリプトの実行はユーザーのシステムでデフォルトで無効になっています。このオプションを許可するには、調整する必要があります。

このシステムではスクリプトの実行が無効になっています

この問題には他の原因もあります。そのため、慎重に方法を実行すると、この問題の解決に役立つ記事が作成されます。 がんばろう!

「このシステムでスクリプトの実行が無効になっています」エラーの原因は何ですか?

この問題の原因はそれほど多くはなく、多くの場合、システムごとに異なります。 それでも、それらは簡単にリストすることができ、問題を以下のオプションのいくつかに分類できるかどうかを確認する必要があります。

  • スクリプトの実行は、ユーザーのシステムで既定で無効になっている場合があり、PowerShellでコマンドを実行したり、レジストリを調整するなどの方法を使用して手動で有効にする必要があります。
  • 上位のスコープで実行が無効になっている場合、ローカルグループポリシーエディター(GPEdit)を使用して実行を有効にする必要があります。 Windows 10の設定にも同様のオプションがあります。
  • コマンドを実行するときに、管理者の問題をPowerShellに提供することができます。

解決策1:PowerShellを管理者として実行し、コマンドを実行する

PowerShellにはこの問題を正確に処理するコマンドがあり、数分で解決できます。 これには、PowerShellウィンドウ内からのスクリプト実行ポリシーの実際の変更が含まれます。 試してみて、自分の目で確かめてください!

  1. [スタート]メニューボタンを右クリックし、コンテキストメニューの[Windows PowerShell(Admin)]オプションをクリックして、PowerShellユーティリティを開きます。 Windows 7ユーザーはそれを検索するだけです。

管理者としてWindows PowerShellを実行する
  1. その場所にPowerShellではなくコマンドプロンプトが表示されている場合は、[スタート]メニューまたはその横の検索バーで検索することもできます。 今回は、必ず最初の結果を右クリックして、管理者として実行を選択してください。
  2. Powershellコンソールで、以下に示すコマンドを入力し、その後Enterをクリックしてください。
 Set-ExecutionPolicy RemoteSigned 
  1. このコマンドを実行して、プロセスが実際に成功したことを示すメッセージが表示されているかどうかを確認します。 この方法は、Windows 10を含むすべてのWindowsオペレーティングシステムに適用できます。

解決策2:グループポリシーを編集する

上記の方法で成功しなかった場合(Windows 10などの新しいバージョンのWindowsでよく見られます)、より高いスコープでポリシーを変更する必要があります。 これは、ソリューション1のコマンドを実行した後に表示される通常のエラーメッセージです。

 Set-ExecutionPolicy:Windows PowerShellは実行ポリシーを正常に更新しましたが、設定はより具体的なスコープで定義されたポリシーによって上書きされます。 オーバーライドにより、シェルは現在の有効な実行ポリシーを保持します... 

問題を解決するには、グループポリシーエディターに移動し、そこから設定をすぐに変更する必要があります。

  1. WindowsキーとRキーの組み合わせ(キーを同時にタップ)を使用して、[実行]ダイアログボックスを開きます。 [実行]ダイアログボックスに「gpedit.msc」と入力し、[OK]ボタンを押して、ローカルグループポリシーエディターツールを開きます。 Windows 10では、[スタート]メニューに「グループポリシーエディター」と入力して、一番上の結果をクリックするだけです。

グループポリシーエディターの実行
  1. ローカルグループポリシーエディターの左側のナビゲーションウィンドウの[コンピューターの構成]で、[管理用テンプレート]をダブルクリックし、[Windowsコンポーネント] >> [Windows Powershell]セクションに移動します。
  2. Windows Powershellフォルダーをダブルクリックして選択し、右側のセクションを確認します。
  3. [スクリプトの実行を有効にする]ポリシーオプションをダブルクリックし、[有効]オプションの横にあるラジオボタンをオンにします。 [実行ポリシー]メニューで、[すべてのスクリプトを許可する]を選択し、終了する前に行った変更を適用します。 変更は再起動するまで適用されません。

すべてのスクリプトの実行を許可する
  1. 最後に、コンピューターを再起動して変更を保存し、エラーのターゲットになっているかどうかを確認します

解決策3:Windows 10の設定で変更する

Windows 10ユーザーは、Windows 10設定アプリの[開発者向け]セクションでスクリプト設定を変更することもできます。 一般に、これは、上記の手順で問題を解決するための品質結果が得られなかった場合に向かうべき場所です。 これは、Windows 10を実行しているユーザーにのみ適用できることに注意してください。

  1. WindowsキーとIキーの組み合わせを使用して、Windows 10 PCで設定を開きます。 または、タスクバーにある検索バーを使用して「設定」を検索するか、[スタート]メニューボタンが開いた直後に歯車アイコンをクリックすることもできます
  2. 設定アプリで「更新とセキュリティ」サブエントリを見つけて一度クリックして開きます。

設定の更新とセキュリティ
  1. [開発者向け]タブに移動し、Powershellセクションで[実行ポリシーを変更して、署名なしでローカルPowerShellスクリプトを実行できるようにする]というオプションを確認します。 リモートスクリプトの署名を要求する」。
  2. 有効にするためにその隣のチェックボックスをクリックし、すぐ下の適用ボタンをクリックします。

設定でスクリプトを許可する
  1. コンピューターをすぐに再起動し、PowerShellでスクリプトを実行して、「このシステムではスクリプトの実行が無効になっています」エラーが表示されるかどうかを確認します。

解決策4:レジストリを使用してメソッドを解決する

上記の方法で問題を解決できない場合は、レジストリに移動して、可能な限り高い範囲で設定を手動で変更するだけです。 この方法は非常に簡単ですが、レジストリを編集するときは、何も問題が発生しないように注意する必要があります。

  1. 検索バー、[スタート]メニュー、またはWindowsキー+ Rキーの組み合わせでアクセスできる[ファイル名を指定して実行]ダイアログボックスに「regedit」と入力して、レジストリエディターウィンドウを開きます。 左ペインで移動して、レジストリ内の次のキーに移動します。
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell 

レジストリエディタ
  1. このキーをクリックして、ウィンドウの右側でExecutionPolicyという文字列エントリを見つけてください。 そのようなオプションが存在する場合、それを右クリックして、コンテキストメニューから[変更]オプションを選択します。
  2. [編集]ウィンドウの[値のデータ]セクションで、値を[無制限]または[リモート署名]に変更し、行った変更を適用します。 このプロセス中に表示される可能性のあるセキュリティダイアログを確認します。

    レジストリエディターでのスクリプトポリシーの変更
  3. これで、[スタート]メニュー>> [電源]ボタン>> [再起動]をクリックしてコンピューターを手動で再起動し、問題がなくなったかどうかを確認できます。

興味深い記事