###転んだところ
PowerShell で デジタル署名されていないため実行できなかった。。
変更手順をまとめると、下記な感じ。参考
①windowsのクイックリンクメニューからWindows PowerShell(管理者)を起動する。
②Power Shell が起動するので下記コマンドを投入する。
③実行ポリシーの変更を行う。
実行環境
PS > $PSVersionTable
Name Value
---- -----
PSVersion 5.1.19041.1151
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.1151
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
詳細手順
①windowsのクイックリンクメニューからWindows PowerShell(管理者)を起動する。
・「windows」キーを押しながら「X」キーを押す
・「A」キーを押す
・このアプリがデバイスに変更することを許可しますか?とホップアップ表示されるので、「はい」を選択
②Power Shell が起動するので下記コマンドを投入する。
現在のセッションに影響を与えるすべての実行ポリシーを取得し、優先順位で表示するコマンドなので(showみたいなもの)心配はいらない。
Get-ExecutionPolicy -List
返り値が下記になっていれば問題ないのだが。。(「CurrentUser」が「RemoteSigned」になってないんじゃない?)
PS > Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned
③実行ポリシーの変更を行う。
詳しいオフィシャルな情報はこちら
警告
変更コマンドのため、実行の際は注意。「CurrentUser」を「RemoteSigned」にするコマンドです。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
実行すると、下記のようなポリシー変更の注意が出るはず。問題なければ「Y」を入力して「Enter」を入力。
規定値は「N」のため、そのまま「Enter」を入力すればキャンセル可能です。
PS > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y
下記のように「CurrentUser」を「RemoteSigned」へのポリシー変更が確認できたらOK、スクリプトが実行できるはず。
PS C:\Windows\system32> Get-ExecutionPolicy -Scope CurrentUser
RemoteSigned
戻し手順
いろいろな設定を変更して、元の状態がわからなくなる。
私はやりがちですが、運用上よくないので。
変更前の状態に戻したい場合のコマンドは下記。実行のち「Y」の入力を忘れずに。
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser