アプリ版:「スタンプのみでお礼する」機能のリリースについて

web制作をしています。windows機でビルドするために、gulpコマンドを使用するのですが、Powershellでは実行ポリシーを変更しなければ、スクリプトを実行できません。
コマンドプロンプトでは何もしなくても実行できます。

Powershellで実行ポリシーを変更すると、セキュリティ上危険があることは理解できるのですが、この危険はコマンドプロンプトにはないのでしょうか?

デザイナー・コーダーであるため、このあたりの事には全く詳しくありません。

Powershellで毎回「Set-ExecutionPolicy RemoteSigned -Scope Process -Force」と入力するのが面倒なので、コマンドプロンプトを使用すればよいのですが、windows機ではコマンドプロンプトではなく、Powershellに移行していっているということで、気になりました。

詳しい方よろしくお願いいたします。

質問者からの補足コメント

  • ではPowerShellの実行ポリシーを管理者権限で恒久的に変えてしまっても、現状のプロセス終了まで変更している状態とあまり危険性は変わらないということでしょうか?
    つまり、これまでコマンドプロンプトでも同じ危険性をはらんでたけど、ただ、マイクロソフトがその部分は対策していなかっただけ、PowerShellでセキュリティの強化実装した、という認識であっていますか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/02/16 23:40

A 回答 (2件)

> これまでコマンドプロンプトでも同じ危険性をはらんでたけど、ただ、マイクロソフトがその部分は対策していなかっただけ、PowerShellでセキュリティの強化実装した、という認識であっていますか?



拡張子BATはともかくEXEはPS1と同等以上には危ないのに、PS1しかこういうガードがないというのは首尾一貫してないので、そういうことだろうという推測です。Microsot内部の人間じゃ無いので。

まあ「危険なEXEを作るのは素人では難しいが、危険なPS1を作るのは素人に毛が生えたくらいの人でも出来なくはない」ということも言えるかも知れないですが、悪人がIT素人でも玄人の作った危険なEXEをコピってくれば良いだけなので、危険度はやはり変わらないです。

UACが導入されたタイミングくらいで、「C:\Windows と C:\Program Files等UACで保護された外のEXEは、セキュリティーを緩めないと実行できない」的な機能があってもおかしくなかったと思います。

Powershellのセキュリティーを緩めないレベルが望ましいと考えるなら、何らかのセキュリティープログラムを入れて、上の段落で書いたようなEXE等のガードをしないと、裏口だけ鍵を掛けたけど、玄関は開けっぱなしで外出するような物で、意味が無いです。PowerShell -ExecutionPolicy Bypass -file xxxxx.ps1で実行できちゃうので、実は裏口の鍵も番号合わせ錠レベル。まあ、PowerShell.exe を削除しちゃうという手もありますが。
    • good
    • 0

PowerShellがデフォルトで簡単に実行できないようになっているのは、使う必要の無い人が、メールで送られてきたような怪しいファイルをうっかり実行しないためです。

exeやbatなども同じですが、おそらく、昔からある物を出来なくすると影響が大きいので、新しい物からそうすると言うことでしょう。
Powershellを使う必要のある人は、セキュリティーレベルを変更しても何の問題もありません。

また、事前にセキュリティーレベルを変更しなくても、
PowerShell -ExecutionPolicy Bypass -file xxxxx.ps1
で、実行できるので、Powershellを使う要件のある人について「セキュリティーレベルを変えても良いか、変えない方が良いか?」という議論は全くの無意味です。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A