0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Win:ExecutionPolicy

Posted at

Windowsの実行権限

windowsのPowerShellでwgetを実行する際にExecutionPolicyの制限に触れた。デジタル署名がある場合も実行が不可能であった。ExecutionPolicyを確認する手法と、変更する方法、変更先について述べる。

ExecutionPolicyを確認する方法

PowerShellの実行権限を確認するコマンド

$Get-ExecutionPolicy

デフォルトの場合

Restrictedと表示される。このままの場合、基本的にシェルスクリプトの実行は不可能である。
公式()文書を確認すると次のように記述されている。

  • 個々のコマンドは許可されますが、スクリプトは許可されません
  • 書式設定と構成ファイル (.ps1xml)、モジュール スクリプト ファイル (.psm1)、PowerShell プロファイル (.ps1) など、すべてのスクリプト ファイルの実行を防止します

どの設定に変えるべきか

RemoteSignedに変更する事で、次の場合にシェルスクリプトの実行が許可される。

  • Windows コンピューターの既定の実行ポリシー
  • スクリプトは実行できます
  • メールやインスタント メッセージ プログラムを含むインターネットからダウンロードされるスクリプトや構成ファイルには、信頼できる発行者からのデジタル署名が必要です
  • インターネットからダウンロードされたものではなく、ローカル コンピューターに書かれたスクリプトにはデジタル署名は必要ありません
  • Unblock-File コマンドレットを使用するなどしてスクリプトのブロックが解除された場合、インターネットからダウンロードされた符号なしのスクリプトを実行します
  • インターネット以外からの符号なしのスクリプトや、悪意のある可能性がある符号のあるスクリプトを実行するリスク

設定の変更方法

まず管理者としてPowerShellを実行し、次のコマンドを使用する。

Set-ExecutionPolicy
   [-ExecutionPolicy] ExecutionPolicy
   [[-Scope] ExecutionPolicyScope]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [CommonParameters]

複数のコマンドがあるが、実行権限をRemoteSignedに変更する方法は

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

で良い。

コメント

PowerShellでは、デフォルトでの実行権限を与えていないため堅牢に感じた。一方で、初見でスクリプトを実行出来ない点に難易度の高さを感じた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?