通常のwindows設定ではPowerShellのスクリプトps1ファイルを実行できません。
以下のようなエラーが出てしまいます
D:\***.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル D:\***.ps1 を読み込む
ことができません。詳細については、「about_Execution_Policies」(http://go.microsoft.com/fwlink/?LinkID=135170) を参照し
てください。
発生場所 行:1 文字:1
+ D:\unyo\snapshot.ps1
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
上記エラーを無くす方法です。
レジュメ
PowerShellスクリプトのps1 実行できない。実行できるようにするセキュリティポリシー方法
今回の環境・前提条件:
- Windows Server 2012
PowerShellの実行ポリシー(about_Execution_Policies)の変更方法
現在の実行ポリシー設定を以下のコマンドで確認できます
- Get-ExecutionPolicy
デフォルト設定では、ps1ファイルが実行できない「Restricted」という設定になっています。
以下のコマンドで、ps1ファイルを実行可能ポリシー設定に変更します
- Set-ExecutionPolicy RemoteSigned
これでps1ファイルが実行可能になります。
ExecutionPolicyの設定内容
参考までに、ExecutionPolicyには以下の設定があります。
- Restricted
「制限された」という意味です。
個々のコマンドを許可しますが、実行されませんスクリプト。 - AllSigned
信頼できる発行元によって署名されているスクリプトを実行できます - RemoteSigned
ローカルに保存されているスクリプトは実行出来ます。 - Unrestricted
すべてのスクリプトが実行出来ます