PowerShell スクリプト実行ポリシーとは|初心者向け

PowerShell

この記事では、PowerShellのスクリプト実行ポリシーについて説明します。

PowerShellのスクリプト実行ポリシーとは

PowerShellには、セキュリティ向上のためにスクリプトの実行を制限する「スクリプト実行ポリシー」があります。

スクリプト実行ポリシーが適切に設定されていない場合、環境を設定するプロファイル(profile.ps1など)やスクリプトを実行できません。

そのため、スクリプトを実行するには、スクリプト実行ポリシーを変更しておく必要があります。

PowerShellに設定可能な実行ポリシー

実行ポリシー 説明
Restricted スクリプトの実行を行いません。
AllSigned 署名付きスクリプトは実行できます。
RemoteSigned 署名付きスクリプト、ローカル保存の自作スクリプトは実行できます。
Unrestricted すべての構成ファイルを読み込み、すべてのスクリプトが実行できます。
ただし、インターネットからダウンロードした未署名のスクリプトは実行するかどうか確認を求められる。
ByPass 何もブロックされずに警告もメッセージも表示されません。
Undefined 未定義の状態。
スクリプト実行ポリシーがUndefinedの場合、既定のスクリプト実行ポリシーが有効なスクリプト実行ポリシーになる。

デフォルトではスクリプトの実行はできないようになっています。そのため、スクリプト実行ポリシーを変更する必要があります。

スクリプト実行ポリシーの確認、変更

PowerShellの現在のスクリプト実行ポリシーは、「Get-ExecutionPolicy」コマンドレットで確認できます。

PS> Get-ExecutionPolicy
Restricted

現在のスクリプト実行ポリシーが「Restricted」の場合はスクリプトを実行できないため、「Set-ExecutionPolicy」コマンドレットで、「AllSigned」、「RemoteSigned」、「Unrestricted」、「ByPass」の何れかに変更します。

PS> Set-ExecutionPolicy RemoteSigned

PS> Get-ExecutionPolicy
RemoteSigned

※レジとりへのアクセスが拒否されたことを示すエラーメッセージが表示された場合は、管理者としてPowerShellを起動します。

まとめ

今回はPowerShellのスクリプト実行ポリシーついて説明しました。

コマンドプロンプトよりもできることが幅広いので、このようなセキュリティが設定されています。

タイトルとURLをコピーしました