文書番号: 199828 - 最終更新日: 2003年11月10日 - リビジョン: 1.0

[IIS]HOWTO : IIS 4 での DOS バッチ ファイルの実行

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
この記事は、以前は次の ID で公開されていました: JP199828
すべて展開する | すべて折りたたむ

概要

Internet Information Server 3 (IIS3) では、デフォルトの設定で DOS バッチ ファイルを実行できます。Internet Information Server 4 (IIS4) においてサーバー側でバッチ ファイルを実行するには、設定を行う必要があります。

詳細

IIS4 の設定の手順は次のとおりです。
  1. IIS4 の管理コンソールを実行します。
  2. Web サイトのプロパティを編集します。Web サイトのツリー表示で右クリックし、[プロパティ] をクリックします。
  3. [ホーム ディレクトリ] タブをクリックします。
  4. [アプリケーションの設定] ボックスで [構成] をクリックします。
  5. [アプリケーションのマッピング] タブで [追加] をクリックします。
  6. 実行ファイルは、Windows NT 4.0 では次の場所にあります。cmd.exe へのパスが正しいことを確認してください。
    C:\WINNT\system32\Cmd.exe /c %s %s
    バッチ ファイルの拡張子は "bat" を指定します (引用符は不要)。
  7. [スクリプト エンジン] と [ファイルの存在を確認する] のチェック ボックスがオンになっていることを確認します。
  8. [OK]、[適用]、[OK]、[OK] を順にクリックして保存します。
バッチ ファイルのサンプルを次に示します。このバッチファイルでは、Content-Type: text/html というヘッダーを設定し、ユーザーのブラウザにメッセージを送信して、SET コマンドの結果を出力します。このテスト サンプルを使用して、IIS4 のサーバーでバッチ ファイルが正しく設定されたかを確認することができます。

次のコードをコピーし、RunMe.bat として保存します。
@echo off
echo Content-Type: text/html
echo.
echo.
echo Hello, World!
echo ^<PRE^>   
set
echo ^</PRE^>
exit

送信 HTML タグの < および > はシェルでは特殊記号と認識されるため、脱字記号 (^) を使用する必要があります。

サンプル バッチ ファイルをテストするには、実行アクセス権を持つサーバーの仮想ディレクトリにこのファイルを置きます。このファイルを起動する URL は次のようになります。
http://MyServer/scripts/RunMe.bat

IIS3 ではバッチ (コマンド ラインまたは DOS) アプリケーションを使用している人が多く、このようなバッチ アプリケーションでは、読み取りに stdin を、書き込みに stdout を使用していました。IIS4 が適切に構成されたので、同じアプリケーションを IIS3 と同様に実行し、動作させることができます。

注 : バッチ ファイルを実行できるように IIS を構成した場合、仮想ディレクトリに書き込みおよび実行アクセス権を設定すると、大きなセキュリティ ホールとなる可能性があります。つまり、バッチ ファイルをアップロードし、任意のコマンドを実行できます。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 199828? (http://support.microsoft.com/kb/199828/EN-US/ ) (最終更新日 1999-03-27) をもとに作成したものです。


この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Server 4.0
キーワード:?
kbhowto kbinternet KB199828
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"