0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

.ps1の拡張子のファイルが実行できなくなったときの話

Last updated at Posted at 2021-08-29

###転んだところ

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
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?