Windows Server でスクリプトをリモート実行する

Windows Server でスクリプトをリモート実行する

私の状況は次のとおりです。Web サイト (管理コントロール ページ) のボタンを押してスクリプトを実行したいと考えています。Web サーバー (Linux) と専用ボックス (Windows 2012) は別の場所にあります。


例:

Web サーバー ページ | Ded サーバー
                                            |
'アプリの再起動' ------>------>---|-->->Script_To_Restart_App



Windows 2012 サーバーは、Windows Web サーバー サービス IIS を実行していません。Web ページを実行する予定がないので、実行しない方がよいでしょう。

とにかくこれは可能ですか?

ありがとう、

クレイトン

答え1

あなたが提案していることは簡単なことではありません。いくつかのアプローチがあります:

  1. Windows ボックスで実行中のアプリが、再起動を指示するメッセージをリッスンするようにします。そのようなメッセージを受け取ったら、再起動します。そのようなメッセージをリッスンする方法はいくつかあり、アプリの構築方法に基づいて最も簡単な方法を選択できます。たとえば、既知のポートでリッスンを開始し、「再起動」というメッセージを取得したらそれを実行します。当然、これにはアプリを変更する機能が必要です。これのバリエーションとして、再起動メッセージをリッスンして元のアプリを停止/開始するだけの別のアプリ/サービスを構築する方法があります。元のアプリを変更できない場合、または変更したくない場合は、この方法が望ましい場合があります。

  2. Windows の何かを使用してアプリを再起動します。サービスを再起動したり、プロセスを起動および停止したりするための組み込みの方法 (例: WMI) があります。これは、Windows 以外のボックスから実行する必要があるため、より困難です。優れたツール「psexec」があります。http://technet.microsoft.com/ja-jp/sysinternals/bb897553.aspxリモートでそのようなことをするのは本当に簡単です。Linux版もありますhttp://steronius.blogspot.co.uk/2013/05/psexec-via-linux.htmlそれでうまくいくかもしれません。プログラミングは必要ありませんが、構成と認証をいじる必要があります... おそらく、またはすぐに機能するかもしれません。PHP スクリプトから psexec を呼び出して、必要なコマンド ライン引数を指定し、Windows アプリを再起動します。

答え2

winexe を見てください。これは Windows ツール psexec に似た Linux 用のコマンドライン ツールです。winexe は Linux から Windows システム上のコマンドをリモートで実行します。いくつかの一般的な Linux ディストリビューション用の winexe パッケージは、次の場所から入手できます。openSUSE winexe パッケージWebサイト。

関連情報