appcmd.exe と add vdir

テーマ ・ プライベート♪ カテゴリ ・ Windows Server #4000

技術的なお話です。<img border="0" src="http://softonhouse.jp/images/blog/icon/35m.gif" />

IISのインストールで、仮想ディレクトリの一括登録を行おうとしたのですが、正しく動作するまで数時間要してしまいました。

そのため、ここで解説しておきます。

まず、Windows Server 2008 の IIS 7.0 で appcmd を使うと、アクセス権が無いから config を読めないと文句を言われます。

C:\Windows\System32\inetsrv\config

管理者権限を持ったアカウントでこちらをエクスプローラーで開き、アクセス権を強制的に取得してください。

次に、IIS7.0 にコマンドラインから仮想ディレクトリを追加する方法ですが、Microsoft の Technet で解説している内容が不可解なのです。

リソースはこちらです。(コピー&amp;ペーストで利用してください)
http://technet.microsoft.com/ja-jp/library/cc771804(WS.10).aspx

Technet の本文中、該当するコマンド構文は

appcmd add vdir /app.name: string / /path: string /physicalPath: string

となっており、サンプルとしては、

appcmd add vdir /app.name: contoso / /path:/ photos /physicalPath:c:\ images

このように入力すれば動作すると記述してありますが、残念ながら実際はこの通りではありません。

appcmd add vdir /app.name:"contoso/" /path:/photos /physicalPath:"c:\images"

このように入力すれば正常に登録可能かと思います。<img border="0" src="http://softonhouse.jp/images/blog/icon/40m.gif" />

もちろん、日本語構文に Technet が対応していなかっただけかと思いますが、appcmd の debug オプションを付加しても、返ってくるエラーメッセージは単一のもので、どこが間違っているのか皆目見当がつきません。

Web で検索しても、この構文の正しい解説が見当たりません<img border="0" src="http://softonhouse.jp/images/blog/icon/54m.gif" />ので、困る方が出てくる事が予想されるため、記載しておきます。

余談ですが、IIS7.0 は、おそらく次のバージョンで PowerShell に対応するのではないでしょうか。

IIS7.0 では構成のエクスポートがなくなるなど、この流れは Exchange Server が PowerShell に対応して GUIで出来る事が少なくなった時と非常に似ているのです。

Exchange Server はそれが不評で、GUI を使ってできる事が以前のように戻りましたけどね。

今の IIS7.0 は、バックアップすら GUI でできません。

まあ、コマンドラインから使えるので不便とは思いませんが、誰でも簡単に構築できた IIS6.0 と比較するなら、不便と思う方は多いでしょう。

とりあえず、誰かのお役にたてれば幸いです。<img border="0" src="http://softonhouse.jp/images/blog/icon/45m.gif" />

コメント1

  • お疲れぷろぐらま
    IIS 7.0には別途に管理ツールが提供されており、バックアップやリストアはそちらで可能となりました。