PowerShell スクリプトを実行しようとすると、このエラーが出ます
File C:\CommonScriptshello.ps1は、スクリプトの実行が無効になっているため、読み込めません。詳しくは「get-help about_signing」をご覧ください。 At line:1 char:13 + .hello.ps1 <<<< + CategoryInfo : NotSpecified.(:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
353 Pavel Chuchuva 2010-02-08
Windows PowerShellを「管理者として実行」オプションで起動します。実行ポリシーを変更できるのは、コンピュータのAdministratorsグループのメンバーのみです
入力することで、符号なしスクリプトの実行を有効にします
set-executionpolicy remotesigned
これにより、ローカルコンピュータ上で書いた署名のないスクリプトや、インターネットからの署名付きスクリプトを実行できるようになります
Microsoft TechNet Library の Running Scripts も参照してください
508 Pavel Chuchuva 2010-02-08
デフォルトの実行ポリシーが制限付きに設定されている場合は、次のように入力することで確認することができます
Get-ExecutionPolicy
以下のように入力して、無制限モードにする必要があります
Set-ExecutionPolicy unrestricted
これが助けになることを願っています
109 William Hilsum 2010-02-08
スクリプトの開発に使用しているマシンでは、上記のように -unrestricted を使用します。しかし、自分のスクリプトをエンドユーザーのマシンにデプロイする場合は、単に -executionpolicy スイッチを使って powershell を呼び出すだけです
powershell.exe -noprofile -executionpolicy bypass -file .\script.ps1
69 MDMoore313 2013-01-14
我々は、以下のコマンドで現在のExecutionPolicyのステータスを取得することができます
Get-ExecutionPolicy;
既定では、Restricted になっています。PowerShell スクリプトの実行を許可するには、この実行ポリシーを Bypass または Unrestricted に設定する必要があります
以下のPowerShellコマンドを使用して、現在のユーザのポリシーをBypass
またはUnrestricted
に設定することができます
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force;
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force;
無制限ポリシーでは、すべての設定ファイルをロードし、すべてのスクリプトを実行します。インターネットからダウンロードした無署名のスクリプトを実行すると、実行前に許可を求めるプロンプトが表示されます
一方、Bypass ポリシーでは、スクリプトの実行中に何もブロックされず、警告やプロンプトもありません。Bypass ExecutionPolicyは、無制限よりもリラックスしています
26 Pratik Patil 2016-09-07
Windowsのバージョンや設定によっては、Unrestricted
モードでも以下のような警告が出る場合があります
Security warning Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D")
解決策は、以下のコマンドで有効にした「バイパス」ポリシーを使用することです
Set-ExecutionPolicy Bypass
文書より
バイパス。何もブロックされておらず、警告やプロンプトもありません
これは明らかに不安ですので、リスクをご理解ください
8 Benoit Blanchon 2016-01-21
.regファイルのことです
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell]
"EnableScripts"=dword:00000001 "ExecutionPolicy"="Bypass"
and:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell]
"EnableScripts"=dword:00000001 "ExecutionPolicy"="Unrestricted"
も確かに機能します
4 Giesbert Schipper 2017-11-29
何らかの理由で、PowerShell cmdlet はグローバルにローカル実行を有効にしていませんでした。例えば、CygWinのbashプロンプトの中からPowershellスクリプトを起動しようとすると、「デジタル署名されていません」というエラーが出て実行されませんでした。これを解決するには、ローカルグループポリシーエディタ -> ローカルコンピュータポリシー -> 管理テンプレート -> Windowsコンポーネント -> Windows PowerShellを開き、「スクリプトの実行を有効にする」をダブルクリックします。これで「Enabled」に変更し、「Allow local scripts and remote signed scripts」の実行ポリシーを設定して、ユーザーのコンテキストに関係なくグローバルに動作するようになりました
2 Eric Green 2018-12-04
受け入れられた答えは正しいのですが、ポリシーの変更は現在実行中の Powershell インスタンスに対してのみ有効です。ポリシーはリセットされます。ユーザーが別の Powershell インスタンスを再度開いた場合、デフォルトのポリシーが適用されます
私の場合、VisualStudio Code のコンソールと cygwin の g++ を使ってビルドする必要があります。コンソールはPowershellを使用していますが、デフォルトのポリシーでは何もできません。解決策としては、VisualStudio Codeコンソールでコンソールが起動するたびにポリシーを変更することですが、ポリシーを変更するスクリプトがあるかもしれません
私は怠け者なので、別の解決策は、私が管理モードでPowershellを実行するときに、受け入れられた答えが行うのと似ています。一度それが実行されると、他のPowershellのインスタンスが使用されます。Powershellの他のインスタンスはデフォルトでRemoteSigned
ポリシーを使用します
set-executionpolicy remotesigned -Scope CurrentUser
2 r0ng 2018-12-15
ポリシーを(正しく)設定することは最良の選択ですが、私の管理しているシステムでは、そのポリシーを変更する能力がありません
私の場合、ポリシーを変更するための最も簡単な回避策は、「PowerShell ISE」でスクリプトを開き、実行するコード(またはコードの一部)をハイライトしてから、「選択範囲の実行」ボタンをクリックすることです(またはショートカットF8を使用)
これは最良のソリューションではありませんが、タスクの自動化にはほとんど役立ちませんが、私のIS部門に迷惑をかけずにPowerShellのユーティリティを使用することができます
1 DBADon 2019-04-24
Open Start.
PowerShellを検索し、トップ結果を右クリックして、管理者として実行オプションをクリックします
以下のコマンドを入力してスクリプトの実行を許可し、Enterを押します
Set-ExecutionPolicy RemoteSigned
Aと入力してEnterキーを押します(該当する場合)
以下のコマンドを入力してスクリプトを実行し、Enterキーを押します
& "C:\PATH\TO\SCRIPT\first_script.ps1"
上記のコマンドでは、「PATH\TO\SCRIPT」をスクリプトの場所に変更してください
ステップを完了すると、スクリプトが実行され、正しく作成されていれば問題なく出力されているはずです
0 Arijit D 2020-04-09
メモを一つだけ
PowerShell ISEを使ってスクリプトとしてset-executionpolicy remotesigned
コマンドを実行しない。私の場合はうまくいきません
高架下のPowerShellで実行する – Pavel Chuchuvaによって提供されるステップバイステップの推奨事項に従ってください
0 Proxyma 2020-07-29
あなたがインターネットから.ps1をダウンロードした場合は、右クリックのプロパティにブロックを解除するボタンがあるかもしれません、ちょうどそれをクリックします
0 colin lamarre 2020-09-23
regキーが動作する理由は、PSコマンドと全く同じことをしているからです。コマンドは変更内容をregキーに書き込みます。コマンドはregキーを作成したり、レジストリを調べたりするよりもはるかに速く、簡単です
-2 keith 2018-04-05