IIS に ホストされた バッチファイル を クライアント から 実行できるようにする方法を記載します。 今回はあくまで "技術的にできる" の検証です。。
バッチファイルが実行できると…何でもできてしまいかねない(セキュリティーホール)になるので、利用には気をつけてください。 IIS の 実行ユーザー は制限がかかっているので、すぐに何でもできるわけではないですが要注意です。
目次
IIS の 設定
バッチファイルの実行には CgiModule が必要になるので、まずはインストールされていることを確認します。
- 「プログラムと機能」を開く
- [Windows の機能の有効化または無効化] を選択く
- [インターネット インフォメーション サービス]-[World Wide Web サービス]-[アプリケーション開発機能]-[CGI] が選択されていることを確認
上記 CGI がインストール済みである前提で、IISの設定を行っていきます。
- 実行したいバッチを保存した仮想ディレクトリを選択
- 「機能ビュー」から [ハンドラー マッピング] を選択
- 「操作」パネル から [スクリプト マップの追加] を選択
- 「スクリプト マップ の追加」で以下の設定して [OK] を選択
- 要求パス
- *.bat
- 実行可能ファイル
- %windir%\system32\cmd.exe /c %s %s
- 名前
- (任意の名称)
- 「スクリプト マップの追加」ダイアログで[はい] を選択
- 「ハンドラー マッピング」のリストに追加されたことを確認
スクリプトの実装と配置
- 以下のようなサンプルスクリプトを作成
※html要素の < および > はシェルでは特殊記号と認識されるため、ハット(^)を併用して記載します。
run.bat
@echo off echo Content-Type: text/html echo. echo. echo Hello, World! echo ^<pre^> set echo ^</pre^> exit
- サンプルスクリプトを仮想ディレクトリに配置
テスト
参考記事
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!