none
substしたネットワークドライブ上のexeをStart-Processすると警告される RRS feed

  • 質問

  • 皆様お世話になります。

    込み入った条件での事例で恐縮ですが、アドバイスをお願いします。

    共有フォルダのサブフォルダに対し subst にてドライブレターを割り当てた上で、その中にある setup.exe ファイルを、PowerShell の Star-Process で起動すると「実行しますか?」とダイアログボックスが表示されてしまいます。(Explorer から起動した場合も同じ)

    Powershell のスクリプトでサイレントインストーラーを構築したいので、この警告は不都合です。

    この警告は Windows7 SP1 64bit で発生し、Windows10 64bit では発生しません。

    また、UNC のまま起動すれば警告は出ないので subst 固有の問題ですが、この警告を抑制する方法は無いでしょうか?

    なお、subst を使うにも事情があり、setup.exe を置いている親フォルダへのアクセス権を制限しているユーザーで実行すると正常に動作しないためですが、subst の代わりに pushd を用いてもアクセス権が無いとしてエラーになります。

    また、Start-Process を使わずに実行しても警告は出ませんが、起動した exe の終了を待機するため -Wait オプションを使用しています。

    よろしくお願いします。

    2019年4月24日 4:25

回答

  • 管理者権限で、はちょっと話が違うような。コマンドプロンプトで実行したら問題ないと言うことなので。

    で、多分シェルで実行しなければいいんですが、Start-Processだと独立した引数が用意されていませんね。標準入出力エラーのどれかを-Redirect***してやれば強制的に非シェル実行になるはずなので、それで問題が無ければそれでいいかと思います。

    そういうわけにいかないのなら、.NETのクラスであるSystem.Diagnostics.ProcessStartInfoとSystem.Diagnostics.Processを使ってやれば良いかと。

    • 回答としてマーク M14Cluster 2019年5月1日 2:46
    2019年4月30日 3:25

すべての返信

  • M14Clusterさん、こんにちは。フォーラムオペレーターのHarukaです。
    TechNetフォーラムにご投稿くださいましてありがとうございます。

    Windows Vistaおよびそれ以降のバージョンのWindowsでは、現在のユーザーが所有していないプロセスを起動/停止するには、[管理者として実行]オプションを使用してWindows PowerShellを起動する必要があります。 
    そのため、powershell.exeを管理者として実行してからコマンドを実行した場合、確認情報は表示されません。

    どうぞよろしくお願いします。


    MSDN/ TechNet Community Support Haruka

    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、
    ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
    2019年4月30日 2:58
    モデレータ
  • 管理者権限で、はちょっと話が違うような。コマンドプロンプトで実行したら問題ないと言うことなので。

    で、多分シェルで実行しなければいいんですが、Start-Processだと独立した引数が用意されていませんね。標準入出力エラーのどれかを-Redirect***してやれば強制的に非シェル実行になるはずなので、それで問題が無ければそれでいいかと思います。

    そういうわけにいかないのなら、.NETのクラスであるSystem.Diagnostics.ProcessStartInfoとSystem.Diagnostics.Processを使ってやれば良いかと。

    • 回答としてマーク M14Cluster 2019年5月1日 2:46
    2019年4月30日 3:25
  • Hongliang 様、コメントありがとうございます。

    おっしゃる通り、-Redirect*** で警告を回避できました。

    ありがとうございました。

    2019年5月1日 2:46