デフォルトでは、PowerShellはエンドユーザーPCでのスクリプトの実行を制限します。この設定は、セキュリティの観点から適切です。ただし、自分でダウンロードまたはコーディングしたスクリプトを多数使用している場合は、非常に煩わしい場合があります。この記事では、Windows10でPowerShellスクリプトのデフォルトの実行ポリシーを変更する方法を確認します。
広告
Windows PowerShellには、次の4つの異なる実行ポリシーがあります。
- 制限付き-スクリプトを実行できません。 Windows PowerShellは、インタラクティブモードでのみ使用できます。
- AllSigned-信頼できる発行元によって署名されたスクリプトのみを実行できます。
- RemoteSigned-ダウンロードしたスクリプトは、実行する前に信頼できる発行元によって署名されている必要があります。
- 無制限-制限なし。すべてのWindowsPowerShellスクリプトを実行できます。
- 未定義-実行ポリシーが設定されていません。
実行ポリシーが設定および構成されていない場合は、「未定義」と表示されます。現在の値を確認する方法は次のとおりです。
PowerShell実行ポリシーを確認する方法
- PowerShellを開く 。
- 次のコマンドを入力またはコピーして貼り付け、Enterキーを押します。
Get-ExecutionPolicy -List
このコマンドは、すべての実行ポリシーを表示します。ご覧のとおり、実行ポリシーを定義できるスコープはいくつかあります。すべてのユーザー、現在のユーザーのみ、または現在のプロセスに対してグローバルに設定できます。現在のプロセスポリシーは、現在のユーザーの設定よりも優先されます。現在のユーザーポリシーはグローバルオプションを上書きします。これを覚えておいてください。それでは、PowerShellのスクリプト実行ポリシーを変更する方法を見てみましょう。
プロセスのPowerShell実行ポリシーを変更する
- 開く コマンド・プロンプト またはPowerShell。
- -ExecutionPolicyUnrestricted引数を指定してpowershell.exeファイルを起動します。例えば、
Powershell.exe -ExecutionPolicy Unrestricted -File c: data test.ps1
これにより、無制限の実行ポリシーを使用してスクリプトが開始されます。スクリプトの代わりに、コマンドレットまたは必要なものを開始できます。 「無制限」の代わりに、上記の他のポリシーを使用できます。
ヒント:開いているPowerShellコンソールの場合、次のコマンドを使用して実行ポリシーを切り替えることができます。
Set-ExecutionPolicy Unrestricted -Scope Process
現在のPowerShellウィンドウを閉じるまでアクティブのままになります。
現在のユーザーのPowerShell実行ポリシーを変更する
- PowerShellを開きます。
- 次のコマンドを入力またはコピーして貼り付け、Enterキーを押します。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
ヒント:上記のコマンドの後にポリシーが設定されていない場合は、次のように、ポリシーを-Force引数と組み合わせてみてください。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
現在のユーザーに実行ポリシーが設定されると、「LocalMachine」スコープが上書きされます。繰り返しますが、プロセスの場合、上記のように現在のPowerShellインスタンスに対してオーバーライドできます。
グローバルPowerShell実行ポリシーを変更する
この実行ポリシーはコンピューターに適用されます。つまり、実行ポリシーが個別に適用されていないユーザーアカウントに有効です。デフォルト設定では、すべてのユーザーアカウントに適用されます。
Windows10でPowerShell実行ポリシーを変更するには 、 以下をせよ。
- 管理者としてPowerShellを開く 。
- 次のコマンドを実行します。
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
これで完了です。
レジストリを微調整してPowerShell実行ポリシーを変更する
現在のユーザーとコンピューターの両方のレジストリを微調整して、実行ポリシーを変更することができます。これがその方法です。
- を開きます レジストリエディタ 。
- 現在のユーザーの実行ポリシーを変更するには、に移動します。
HKEY_CURRENT_USER SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- 文字列値ExecutionPolicyを、Restricted、AllSigned、RemoteSigned、Unrestricted、Undefinedのいずれかの値に設定します。
- LocalMachineスコープの実行ポリシーを変更するには、に移動します。
HKEY_LOCAL_MACHINE SOFTWARE Microsoft PowerShell 1 ShellIds Microsoft.PowerShell
- 文字列値ExecutionPolicyを次の値のいずれかに設定します:Restricted、AllSigned、RemoteSigned、Unrestricted、Undefined。
ヒント:レジストリキーに移動する方法をご覧ください ワンクリックで 。また、あなたはすることができます Windows10のレジストリエディタでHKCUとHKLMをすばやく切り替える 。
ps4のセーフモードとは
それでおしまい。