Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Windows Server 2008のコンポーネントをコマンドラインから追加する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2008/09/26
対象OS
Windows Server 2008
Windows Server 2008で新しい役割や機能を追加する場合、通常はGUIのサーバ管理ツールを使用する。だが何度も繰り返しインストール作業するような場合は、コマンドラインで作業できると便利である。
Windows Server 2008では、servermanagercmdコマンドを使って役割や機能を追加したり、削除したりできる。
ただしこのコマンドはWindows Server 2008のServer Core版では利用できない。

解説

 Windows Server 2008のコンポーネント(「役割」や「機能」)を追加する場合、GUIのサーバ管理ツールを利用するのが普通である。だが多数のサーバを同様の状態にセットアップしたり、何度もセットアップ作業をやり直したりするような場合は、GUIのツールでいちいち操作するよりも、コマンドライン上でインストール作業が実行できると便利である。同じ作業を間違いなく繰り返すことができるからだ(もっとも、GUIが用意されていないWindows Server 2008 Server Core版では、コマンドラインでしか作業できないが)。

 Windows Server 2008ではこのような要望にこたえるために、サーバの役割や機能を追加するコマンドライン操作用のツールが用意されている。本TIPSではその方法について解説する。ただしWindows Server 2008に役割や機能を追加するためのコマンドは、Windows Server 2008のフルインストール版とServer Core版では異なっている。本TIPSではフルインストール版について解説する。Server Core版での操作方法についてはTIPS「Windows Server 2008 Server Coreのコンポーネントを追加する」を参照していただきたい。

操作方法

servermanagercmdコマンドでコンポーネントを管理する

 Windows Server 2008のフルインストール版にはservermanagercmd.exeというコマンドが用意されており、これを使ってコンポーネントを追加したり、削除したりできる。引数なしで実行するとヘルプメッセージが表示される。なお以下の作業は、管理者権限のあるコマンド・プロンプトを開いて実行していただきたい。

C:\>servermanagercmd  ……引数なしならヘルプが表示される

使用法:

ServerManagerCmd.exe
役割、役割サービス、および機能のインストールと削除を実行します。また、使用できる役割、役割サービス、および機能のすべてを一覧表示し、どれがこのコンピュータにインストールされているかを示します。このツールで指定できる役割、役割サービス、機能の追加情報については、サーバー マネージャのヘルプを参照してください。

      -query [<query.xml>] [-logPath <log.txt>]

      -install <名前>
          [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>]
          [-allSubFeatures]
……(以下省略)……

コンポーネントの一覧は-queryオプションで表示する

 このコマンドは、GUI版のサーバ管理ツールとほとんど同じ機能を備えており、インストールしたい役割や機能を-installオプションのパラメータとして指定すると、関連する機能(依存している機能など)も自動的にインストールすることができる。パラメータとして与えるべき機能の名前(文字列)は-queryオプションで取得できる。

servermanagercmd -queryの実行例
このコマンドを実行すると、利用可能な「役割」や「機能」の一覧が表示される。ツリー表示になっているのは、それぞれの依存関係を表している。
「[ ]」は未インストール状態。
役割や機能の名前。
この文字列を-installや-removeオプションで指定する。
「[X]」はインストール済み。白文字ではなく緑色になっているので、分かりやすい。

 -queryオプションを付けて実行すると、追加可能な機能や役割の一覧と、それらがすでにインストールされているかどうかの情報も表示される。各行のうち、先頭が「[ ]」となっている行(黒字に白文字の行)は未インストール、「[X]」となっている行(緑色の文字の行)がインストール済みを表している。

-installオプションでコンポーネントをインストールする

 役割や機能をインストールするには、「-install <コンポーネント名>」というオプションを付けてservermanagercmdコマンドを実行する。ここで指定する<コンポーネント名>は、先の-queryオプションで表示された結果のうち、各行の最後に表示されている。例えば役割として「DHCP サーバー」をインストールしたければ、その行末にある[DHCP]から分かるように、「servermanagercmd -install DHCP」を実行すればよい(行末にこの文字列部分がないものはインストールできない)。複数の機能をインストールしたければ、複数回servermanager.cmdコマンドを実行する。

 実際にインストールすると次のようになる。もし再起動が必要なら最後にその旨が表示されるが、-restartオプションを付けておくと、自動的にシステムが再起動する。

servermanagercmd -install web-serverの実行例
-installオプションとコンポーネント名を指定すると、指定した役割/機能がインストールされる。
役割「Webサーバー」をインストールしてみた。これに対応する名前は「Web-Server」なので、「-install web-server」としている(大文字と小文字の違いは無視される)。
インストールされるコンポーネントの一覧。
インストールの正常終了。コンポーネントによっては再起動が必要なものもある。

 ところで-whatifオプションを付けておくと、いきなりインストールするのではなく、実行される予定の処理内容が表示されるので、事前に確認できる。

C:\>servermanagercmd -install Web-Common-Http -whatif  ……実際にはインストールしないで-installを実行する
.
注意: WhatIf モードで実行中です。  ……WhatIfモードの表示
指定されたインストール対象: [Web サーバー (IIS)] Web サーバー  ……実際にはインストールされていない。
指定されたインストール対象: [Web サーバー (IIS)] HTTP 基本機能
指定されたインストール対象: [Web サーバー (IIS)] ディレクトリの参照
指定されたインストール対象: [Web サーバー (IIS)] HTTP エラー
指定されたインストール対象: [Web サーバー (IIS)] 静的なコンテンツ
指定されたインストール対象: [Web サーバー (IIS)] 既定のドキュメント
指定されたインストール対象: [Windows プロセス アクティブ化サービス] プロセス モデル

インストールの完了後にこのサーバーの再起動が必要になる可能性があります。

C:\>

 なお、インストールの途中でユーザーによるインタラクティブな入力などを求められる役割や機能がいくつかあるが、それらにはこのコマンドでは対応できない。そのような役割や機能の場合は、インストール後にそれぞれの管理ツールで設定するか、pkgmgrなどを使う必要がある。詳細については今後別TIPSで紹介する。

-removeオプションでコンポーネントをアンインストールする

 すでにインストールされているコンポーネントをアンインストールするには-removeオプションを使用する。名前として与えるパラメータは-installの場合と同じである。また-WhatIfオプションを付けると、実際にはアンインストールされずに、処理内容を確認できる。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間