コマンドラインから IIS のウェブサイトを開始/停止する。

目的

デプロイ作業を自動化させるたに、バッチファイルで IIS のウェブサイトを開始/停止させたい。

環境

方法

ウェブサイトの開始/停止/一時停止には、cscript から iisweb.vbs を実行する。

開始

C:\>cscript %WINDIR%\system32\iisweb.vbs /start "ウェブサイト名"

停止

C:\>cscript %WINDIR%\system32\iisweb.vbs /stop "ウェブサイト名"

参照

IIS のバージョン/リビジョンを調べる。

現象

インターネット インフォメーション サービス (IIS) マネージャを開くと、バージョンは確認できるがリビジョンは確認できない。

環境

方法

IIS の実行ファイル(%WINDIR%\system32\inetsrv\inetinfo.exe)のプロパティを開き、製品バージョンを調べる。

参照

感想

ほんと IIS はめんどくせーな。なんでリビジョンくらい GUI から見れないの?

IIS のウェブサイトにアクセスすると、Service Unavailable エラーが表示される。

現象

IIS サービス(World Wide Web Publishing Service)を起動し、Web サイトを開始した状態で IIS の ウェブサイトにアクセスすると、Service Unavailable エラーが表示される。

環境

原因

デフォルトのアプリケーション プール「DefaultAppPool」が起動していなかった。
Web サイトのプロパティで指定されたアプリケーション プールが起動している必要がある。

手順

  1. [スタート]?[プログラム]?[管理ツール]?[インターネット インフォメーション サービス (IIS) マネージャ]を起動する。
  2. [アプリケーション プール]内の「DefaultAppPool」を起動する。

参照

IIS のウェブサービスにアクセスすると「IIS メタベースにアクセスできませんでした。」とエラーが発生する。

現象

ブラウザからウェブサービスにアクセスすると、以下のメッセージが表示される。

'/hogehoge' アプリケーションでサーバー エラーが発生しました。
IIS メタベースにアクセスできませんでした。
説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Web.Hosting.HostingEnvironmentException: IIS メタベースにアクセスできませんでした。
ASP.NET を実行するのに使用されるプロセス アカウントには IIS メタベース (例: IIS://サーバー名/W3SVC) への読み取りアクセスが必要です。メタベースのアクセス許可の変更に関する詳細は、http://support.microsoft.com/?kbid=267904 を参照してください。
ソース エラー:
現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。
スタック トレース:
[HostingEnvironmentException: IIS メタベースにアクセスできませんでした。]
System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +3591442
System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath vpath) +9
System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +169
System.Web.CachedPathData.GetConfigPathData(String configPath) +389
System.Web.CachedPathData.GetConfigPathData(String configPath) +243
System.Web.CachedPathData.GetApplicationPathData() +68
System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3536567
System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189
バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.1433; ASP.NET バージョン:2.0.50727.1433

環境

原因

.NET Framework をインストールした後に IIS をインストールすると、.NET Framework の実行権限が設定されないため。

手順

  1. [スタート]?[コントロールパネル]?[プログラムの追加と削除]から、IIS と .NET Framework をアンインストールする。
  2. IIS をインストールする。
  3. .NET Framework をインストールする。

aspnet_regiis.exe を使う方法があるようですが、試してない。

参照