このエントリーをはてなブックマークに追加


PowerShellの実行ポリシーを変更せずにスクリプトを実行する方法

PowerShellの実行ポリシーを変更しないと、スクリプトを記述したファイルを実行してもエラーとなります。
この記事では、実行ポリシーの変更をしなくても、一時的に実行ポリシーを変更し、PowerShellスクリプトを実行する方法を記します。
環境を変更したくないWindows環境などで使用できると思います。

実行ポリシーについては「PowerShell実行ポリシーを変更しPowerShellスクリプトを起動できるようにする」を参考にしてください。
他の方法としては、関連記事にある、Invoke-Expressionコマンドレットで動かす方法もあります。


関連記事

実行ポリシーを設定せず、デフォルトのままでスクリプトを実行するとエラー!

実行ポリシーがデフォルトのままで、PowerShellスクリプトを実行すると、下図のスクリーンショットのようにエラーとなります。

01.png

これを、エラーなしでスクリプト実行するようにするには、以下のようにします。

-ExecutionPolicy Bypass | Remote Signed

powershellコマンドのオプション -ExecutionPolicy に Bypass を付けることによって、実行ポリシーを一時的に変え、スクリプトを実行することができます。
(環境によっては、Remote Signedを使用します。ほとんどの場合は、Bypassでよいと思います。)

  • 実行するPowerShellスクリプト例
    一行のみのスクリプトです。
    Write-Host "Hello world"
  • -ExecutionPolicy Bypass -command で実行
    • 構文
      powershell -ExecutionPolicy Bypass -command スクリプト
    • 実行例
      powershell -ExecutionPolicy Bypass -command .\hello.ps1
      02.png
       
      ちなみに、コマンドプロンプトからも起動できます。
      powershell.exeを呼び出しているので当然ですよね。なので、バッチファイルやVBScriptに書いて起動する方法などがあります。
      03.png
       

以上、PowerShellの実行ポリシーを変更せず、PowerShellスクリプトを実行する方法でした。



添付ファイル: filehello.ps1 776件 [詳細] file03.png 1025件 [詳細] file02.png 1655件 [詳細] file01.png 1477件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-27 (水) 20:44:31