【エラー文】
.\powerview.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\PowerView.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.micr
osoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ .\powerview.ps1
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
実行ポリシー
【AllSigned】
・スクリプトの実行可
・スクリプトと構成ファイルが信頼された発行元によって署名されている必要
【Bypass】
・ブロックされず警告は表示されない
【Default】
・既定の実行ポリシーの設定
【RemoteSigned】
・Windowsコンピュータの既定の実行ポリシー
・スクリプト実行可
・インターネットからダウンロードされるスクリプトや構成ファイルは信頼できる発行者からのデジタル署名が必要
・ローカルコンピュータのスクリプトのデジタル署名は不要
【Restricted】
・コマンドは許可されるがスクリプトは許可されない
・.ps1xml、.psm1、.ps1などの全てのスクリプトファイルは実行不可
【Undefined】
・スコープに実行ポリシーが設定されていない
・すべてのスコープの実行ポリシーがUndefinedの場合、有効な実行ポリシーはWindowsクライアントではRestricted、WindowsサーバではRemoteSigned
【Unrestricted】
・Windows以外のコンピュータの既定の実行ポリシー
・符号なしのスクリプトは実行可
実行ポリシーのスコープ
【MachinePolicy】
・コンピュータのすべてのユーザに設定
【UserPolicy】
・コンピュータの現在のユーザに設定
【Process】
・現在のPowerShellセッションのみに影響
・環境変数 $Env:PSExecutionPolicyPreferenceに保存され、PowerShellセッションが閉じられると、変数と値は削除される
【CurrentUser】
・現在のユーザのみに影響
・CurrentUser構成ファイルに格納される
【LocalMachine】
・現在のコンピュータのすべてのユーザに影響
・AllUsers構成ファイルに格納
実行ポリシーの取得
・有効な実行ポリシーを取得
Get-ExecutionPolicy
・現在のセッションにおける全ての実行ポリシーを取得し、優先順位順に表示する
Get-ExecutionPolicy -List
[実行結果]
| Scope | ExecutionPolicy |
|---|---|
| MachinePolicy | Undefined |
| UserPolicy | Undefined |
| Process | Undefined |
| CurrentUser | RemoteSigned |
| LocalMachine | AllSigned |
※現在のユーザに対する実行ポリシーがローカルコンピュータに設定された実行ポリシーよりも優先されるため、有効な実行ポリシーはRemotesignedになる。
実行ポリシーの変更
※管理者権限が必要
※変更内容はすぐに変更されるため再起動不要
※Localmachine、CurrentUserの実行ポリシーは構成ファイルに保存されるため、再度変更するまで有効
※Processは構成ファイルに保存されず現在のプロセスと子プロセスが閉じられるまで保持される
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
・特定のスコープで実行ポリシーを設定
Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
実行ポリシーの削除
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
・Scopeに対する実行ポリシーの削除
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
1つのセッションに異なるポリシーを設定
pwsh.exe -ExecutionPolicy AllSigned
※設定した実行ポリシーは構成ファイルに格納されず、$Env:PSExecutionPolicyPreference 環境変数に格納される
※現在のセッションを閉じると変数は削除される
※セッション中はローカルコンピュータや現在のユーザの構成ファイルに設定されている実行ポリシーより優先される