PowerShell スクリプトの実行ポリシー変更方法
PowerShellの初期設定ではスクリプトファイルの実行ができないとのこと。
実行するためには実行ポリシーの設定を変更してやる必要があるのですね。
それをするためにはまず、PowerShellを「管理者として実行する」より起動してください。(右クリックから選択できます)
まずは現在の実行ポリシーがどういう状態なのかを確認します。
PS C:\> Get-ExecutionPolicy
Restricted
Restrictedという結果が返ってきました。
これはすべてのスクリプトに対して実行が禁止されているステータスを表します。
このステータスについては以下のようなものがあります。
【Restricted】
全てのスクリプトが実行禁止
【AllSigned】
署名されているスクリプトのみが実行可
署名されていないスクリプトは実行禁止
【RemoteSigned】
ローカルに保存されているスクリプトは実行可
InternetからDownloadしたスクリプトは、署名されているもののみが実行可
【Unrestricted】
全てのスクリプトが実行可
ただしInternetからDownloadしたスクリプトは、実行の確認が必要
【Bypass】
警告やユーザーへの確認なしに、全てのスクリプトが実行可能
主に自分でつくったスクリプトを使用する場合が多いかと思うので、今回はこれを【RemoteSigned】に変更したいと思います。
PS C:\> Set-ExecutionPolicy RemoteSigned
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y
実行ポリシーの変更確認のメッセージが表示され、「y」とすると変更されます。
「変更しました!」というような表示は出ないようなので、もう一度実行ポリシーを確認してみます。
PS C:\> Get-ExecutionPolicy
RemoteSigned
RemoteSigned、これで変更が確認できました。