2017-07-21 8 views
-1

PowershellスクリプトにPOSTするには、単純な静的な.htmlページフォームが必要です。PowershellスクリプトへのHTMLフォームのPOST

私はPowerShellの起動-WebRequestクラスコマンドレット材料をたくさん見てきましたが、PowerShellは常にHTTP要求を開始した場合(その後、HTTPレスポンスを扱う。)

ありがとうございます!

+0

この.htmlファイルをWebサーバーにホストしていますか?もしそうなら、あなたのウェブサーバーは何ですか? –

+0

ありがとうございました。ありがとうございました。ありがとうございました。Webサーバー上の.htmlをホストしていただきありがとうございます。 - IIS。 .NETでのプロトタイプ作成と経験がほとんどないため、特にこのInvoke-WebRequestコマンドレットを見た後、Powershellスクリプトを高速化できると考えていました。しかし、その下のあなたの詳細な解答を読むことは、そうでないことが明らかになります。 –

答えて

0

簡単な答えは、PowerShellスクリプトに直接POSTすることができないということです。あなたがWebサイトにPOSTすると、引数をWebサーバーに渡します。引数は、Webサーバーが実行可能なWebサーバー(POSTリクエストのターゲット)のコードに渡されます。 WebサーバーはPowerShellを理解していません(マイクロソフトではこれを実装していない限り、いくつかの迅速なGoogleではそうしていないと示しています)。

あなたの究極の目標は、フォームからPowerShellスクリプトを介して取得したデータを消費する可能性が高いということです。 POSTリクエストを消費し、PowerShell経由で実行されるようにオペレーティングシステムレベルに渡すには、Webサーバー上にバックエンドを実装する必要があります。これは一般的には良い考えではありませんが、内部サイトで何かを実行してすぐに何かを稼働させるのであれば、そうしてください。 http://jeffmurr.com/blog/?p=142

あなたは他の多くの方法でこの問題にアプローチできます。ここでは

は、ASP.NetからPowerShellスクリプトを呼び出すためのプロセスです。バックエンドサイトを作成して、POSTリクエストからのデータをファイルに保存し、PowerShellでそのファイルをスケジュールに従って解析することができます。同じマナー内のデータベースを使用することもできますし、データベースにトリガーを作成して、行が追加されるたびにスクリプトを実行することもできます。

これらのパスウェイのいずれかを実行すると、バックエンドで使用しているテクノロジ(ASP.NetやPHP、JavaScriptなど)が必要な作業を実行できることがわかります。あなたがそれらのいずれかについていれば、動く部品がはるかに少なくなります。新しいことを学ぶことを恐れないでください。 PowerShellからJavaScriptにジャンプすることはそれほど難しいことではありません。


世界は高速化します。 PowerShellのWebサーバーのNodeJSのような実装です。

https://gallery.technet.microsoft.com/scriptcenter/Powershell-Webserver-74dcf466

関連する問題