HOME>WEBプログラム覚書>[Windows PowerShell]実行ポリシーの変更

[Windows PowerShell]実行ポリシーの変更

Windows PowerShell には実行ポリシーってのがあってデフォルトでは自作のスクリプトが走らない。

エラー

  1. C:\Users\admin>powershell C:\init.ps1
  2. C:\init.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル C:\init.ps1 を読み込むことができません。
  3. 詳細については、「about_Execution_Policies」(http://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
  4. 発生場所 行:1 文字:1
  5. + C:\init.ps1
  6. + ~~~~~~~~~~~~~~~
  7. + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
  8. + FullyQualifiedErrorId : UnauthorizedAccess
  9.  

実行ポリシーの変更

PowerShellを「管理者として実行」で起動します。Get-ExecutionPolicy コマンドで現在の実行ポリシーを確認します。

現在の実行ポリシーを確認

  1. PS C:\WINDOWS\system32> Get-ExecutionPolicy
  2. Restricted
  3.  

既定は Restricted のようです。自作のスクリプトを実行できるように Set-ExecutionPolicy コマンドで実行ポリシーを変更します。

実行ポリシーの変更

  1. PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
  2.  
  3. 実行ポリシーの変更
  4. 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、
  5. about_Execution_Policiesのヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
  6. で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
  7. [Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y
  8.  

変わったか確認。

確認

  1. PS C:\WINDOWS\system32> Get-ExecutionPolicy
  2. RemoteSigned
  3.  

実行ポリシーについてはHPC Powershell 超入門 (0) - スクリプト実行ポリシー!? - - Windows HPC goes mainstream and Cloud - Site Home - TechNet Blogsさんよりコピペ。

Restricted
  • 既定の実行ポリシーです。
  • 個々のコマンドは許可されますが、スクリプトは実行されません。
  • 書式設定ファイルと構成ファイル (.ps1xml)、モジュール スクリプト ファイル(.psm1)、および Windows PowerShell プロファイル (.ps1) を含む、すべてのスクリプトファイルの実行が禁止されます。
AllSigned
  • スクリプトを実行できます。
  • すべてのスクリプトと構成ファイルが信頼された発行元によって署名されていることが要求されます (ユーザーがローカル コンピューターで作成するスクリプトを含む)。
  • 信頼されているかどうかが分類されていない発行元からのスクリプトを実行する前に、プロンプトが表示されます。
  • インターネット以外のソースによる署名なしスクリプトや署名済みの悪意のあるスクリプトを実行する危険性があります。
RemoteSigned
  • スクリプトを実行できます。
  • インターネットからダウンロードされたスクリプトおよび構成ファイル (電子メール プログラムとインスタント メッセージング プログラムを含む) に対して、信頼された発行元によるデジタル署名が必要です。
  • (インターネットからダウンロードしたのではなく) ローカル コンピューターで実行されたスクリプトおよび作成されたスクリプトにはデジタル署名は不要です。
  • 署名済みの悪意のあるスクリプトを実行する危険性があります。
Unrestricted
  • 署名なしスクリプトを実行できます (悪意のあるスクリプトを実行する危険性があります)。
  • インターネットからダウンロードしたスクリプトおよび構成ファイルを実行する前にユーザーに警告します。
Bypass
  • 何もブロックされず、警告またはプロンプトも表示されません。
  • この実行ポリシーは、Windows PowerShell スクリプトが大きいアプリケーションに組み込まれる構成や、独自のセキュリティ モデルを備えたプログラムの基礎として Windows PowerShell が使用される構成を対象に設計されています。
Undefined
  • 現在のスコープで設定されている実行ポリシーはありません。
  • すべてのスコープの実行ポリシーが Undefined である場合、効力を持つ実行ポリシーは既定の実行ポリシーである Restricted となります。
投稿日 2014年2月 8日 01:42
カテゴリ Windows PowerShell
タグ エラー | コマンドプロンプト
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1351

コメント

コメントする
Name
Email Address
URL