PowerShellは、優れた高度なクロスプラットフォームタスク自動化ソリューションです。 通常、WindowsシステムでPowerShellスクリプトを作成して実行するのは非常に簡単です。 しかし、あなたは「このシステムでは、スクリプトの実行は無効になっています。システムでスクリプトを実行した場合の「」エラーメッセージ。 システム管理者が、許可されていないスクリプトがシステムで実行されないようにブロックするポリシーを設定している場合は、指定されたエラーメッセージが表示されます。 ポリシーのブロックを解除するか、レジストリを微調整する必要があり、任意のスクリプトを実行できます。
目次
修正1-PowerShellを微調整する
現在の実行ポリシーをバイパスしてコードを実行できます。 したがって、改ざんする必要はありませんが、スクリプトを実行することはできます。
1. を押した後 Windowsキー+S キーを一緒に入力し、「パワーシェル“.
2. 次に、「Windows PowerShell」をタップし、「管理者として実行“.
3. Windows PowerShell画面が表示されたら、 タイプ このコードをそれに応じて変更し、 入力 それを実行します。
powershell -ExecutionPolicy ByPass -File スクリプトの名前.ps1
[
「nameofthescript.ps1」に、実行しようとしているスクリプトの名前を付けます。
例–スクリプトの名前が「myscript「、コマンドは–
powershell -ExecutionPolicy ByPass -File myscript.ps1
]
広告
このようにして、現在のスクリプト実行ポリシーを変更せずに任意のスクリプトを実行できます。 ただし、スクリプトを大量に実行したり、自動化されたスクリプトを作成したりする場合、これは機能しません。
そのための次の修正を探す必要があります。
修正2–実行ポリシーを変更する
必要に応じて、現在の実行ポリシー設定を変更できます。
1. もう一度押す Windowsキー 「」と入力しますパワーシェル“.
2. 後で、「Windows PowerShell」をタップし、「管理者として実行」をクリックして、管理者権限でターミナルを開きます。
3. それが開くとき、 タイプ このコマンドは、選択に応じて実行ポリシーを変更します。
Set-ExecutionPolicy RemoteSigned
[
スクリプト実行ポリシーを4つの異なるモードに設定できます。 これらは -
制限付き –PowerShellがシステム上でのスクリプトの実行を許可しないデフォルトモード。
AllSigned –このモードでは、署名および承認されたスクリプトのみを実行できます。
RemoteSigned –このモードでは、ダウンロードしたすべてのスクリプトに信頼できる署名の署名が必要です。
無制限 –任意のスクリプトを実行できます。 信頼できる署名または信頼できる発行元に境界はありません。
例 –ポリシー設定を「RemoteSigned」に設定するとします。コマンドは–
Set-ExecutionPolicy RemoteSigned
]
その後、「Y」とヒット 入力.
4. エラーメッセージが表示された場合は、このコマンドを実行してください。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
繰り返しますが、「Y」とヒット 入力.
それが済んだら、好きなようにスクリプトを簡単に実行できます。
スクリプトを実行してテストします。
ノート –
スクリプトの設定が間違っていたり、スクリプトが正しくないとシステムに致命的な損傷を与える可能性があるため、通常、スクリプトの実行ポリシーは制限されています。 したがって、スクリプトの実行が完了したら、実行ポリシーを「制限付き」モードに再度設定できます。
1. 管理者権限でPowerShellにアクセスします。
2. ここで、この1つのコードを実行するだけで、システムでのポリシーの実行を制限できます。
Set-ExecutionPolicy制限付き
3. 繰り返しますが、「Y」とヒット 入力.
その後、PowerShellウィンドウを閉じます。
修正3–レジストリを編集する
実行ポリシーの変更中にエラーメッセージが表示された場合は、レジストリエディタを編集できます。
1. 書くだけ "regedit.mscタスクバーの検索ボックスにある」。
2. その後、「レジストリエディタ」にアクセスします。
警告 –レジストリを微調整します。 レジストリエディタはシステムの非常に重要な部分であるため、事前にレジストリのバックアップを作成する必要があります。
レジストリエディタが開いたら、「ファイル“. 次に「輸出」を使用して、システムに新しいレジストリバックアップを作成します。
後で、問題が発生した場合にこのバックアップを使用できます。
3. 次に、左側をこのように展開します–
Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ ShellIds \ ScriptedDiagnostics
4. それで、 ダブルタップ 「ExecutionPolicy」バイナリ値。
5. 書くだけ "無制限[値のデータ:]ボックスに「」を入力します。
6. 次に、「わかった」を使用して、この変更を保存します。
この後、レジストリエディタを閉じます。 レジストリエディタを閉じたら、システムを再起動します。
コンピュータを再起動した後、選択したスクリプトを簡単に実行できます。