Server Coreインストールを行ったWindows Server 2008でも、フルインストールと同様、「役割」「役割サービス」「機能」を追加することで所要のサーバ機能を実現する。ただし当然ながら、これらの操作もコマンドで行わなければならない。今回は、「役割」「役割サービス」「機能」を追加・削除する手順を解説しよう。

役割・役割サービス・機能の一覧表示

コマンドプロンプトで「oclist | more」と入力すると、役割・役割サービス・機能の一覧が、テキストによるツリー表示で1画面分ずつ区切って表示される。特にWindows Server 2008 R2になってから数が増えたので、全貌をパッと見て確認するのが難しくなった。リダイレクト機能を用いてテキストファイルに書き出しておくのも一案だろう。

oclistコマンドを引数なしで実行すると、役割・役割サービス・機能の一覧をツリー表示する

また、サービスや機能が組み込み済みになっているかどうかを確認する際も、同じoclistコマンドを使用する。まだ組み込んでいないものは「未インストール」と表示されるので区別できるはずだ。

oclistコマンドの実行結果で留意する必要があるのは、個々の役割・役割サービス・機能につけられた名前だ。例えば、「Microsoft-Hyper-V」とあれば、これはその名の通り、Hyper-Vのことである。この名前が、後述する追加・削除操作の際に必要になるので、大文字・小文字の別も含めて正しく把握しておく必要がある。

役割・役割サービス・機能の追加・削除

役割・役割サービス・機能の追加と削除には、ocsetupコマンドを使用する。

未インストールの役割・役割サービス・機能を追加する
→ocsetup /w <名前>

インストール済みの役割・役割サービス・機能を削除する
→ocsetup /w <名前> /uninstall

これらのコマンドで指定する「<名前>」は、先にoclistコマンドを実行した際に表示する一覧の英文名称を記述する。その際に注意が必要なのは、大文字・小文字の別も含めて名前を正確に記述しなければならない点だ。名前が正しくないと、追加も削除も行えない。

例えば、64ビット版のWindowsで32ビット版アプリケーションを動作させる際に必要になるWOW64(Windows 32 on Windows 64)があるが、32ビット版のアプリケーションを使用しなければ、WOW64は削除できる。その場合、「start /w ocsetup ServerCore-WOW64 /uninstall」と入力するわけだ。

ここまで紹介した例ではいずれも、追加や削除に際して引数「/w」を指定している。「/w」を指定しなくても追加や削除は可能だが、コマンドを実行した直後にプロンプトに戻ってしまうので、正しく実行できたかどうかの確認が難しい。しかし「/w」を指定すると、追加や削除の操作が完了するまでプロンプトに戻らないので、操作が行えたかどうかを確認しやすくなる。

役割サービスを追加する際の注意点

[サーバーマネージャ]を使用する場合と同様、1つの役割を複数の役割サービスで構成していたり、役割サービス同士で階層構造を構成していたりする場合がある。特にIIS(Internet Information Service)ではその傾向が甚だしい。

その場合、最上位の階層から順番に1つずつ指定して追加していく必要がある。ウィザードでチェックボックスをオンにして追加する場合のように、上位の役割あるいは役割サービスで「追加」を指示するだけで下位のものまで一括して追加することにはならないので、注意が必要だ。当然ながら、途中の階層を飛ばしたり、下位のものを先に追加したりすることもできない。

役割あるいは役割サービスの間で依存関係がある場合も同様で、まず「依存される側」を追加してから、「依存する側」を追加する必要がある。

Active Directoryドメインサービスの追加

[Active Directoryドメインサービス]は追加の手順が異なる。使用するコマンドは、フルインストール時と同じdcpromoコマンドだ。このコマンドを実行することで、役割の追加とドメインコントローラの構成を一気に実行する。

ただし、ウィザード形式で順番に指定を行うのではなく、事前に準備しておいた応答ファイルを使って指定を行うようになっている。そのため、フルインストールを行った別のコンピュータで[Active Directoryドメイン サービス インストール ウィザード]を実行して所要の設定を行い、最終画面で応答ファイルを出力しておく。

その応答ファイルを、Server Coreインストールを行ったサーバにコピーしてきたうえで、応答ファイルの指定を付加する形でdcpromoコマンドを実行するわけだ。その際の構文は、「dcpromo /unattend:<応答ファイルのパス名>」となる。

つまり、Server Coreインストールを行ったWindows Server 2008だけでは、Active Directoryを構成することはできない。応答ファイルを作成するためには、最低1台はフルインストールしたコンピュータが必要だからだ。

.NET Frameworkの追加[R2]

Windows Server 2008 R2から.NET Framework 2.0と.NET Framework 3.5.1の追加が可能になった。それに伴い、Windows PowerShellやASP.NETの利用も可能になった。ただし、コマンド操作しか行えないServer Coreに合わせて、一部の機能を省略したサブセット版になっているのが相違点だ。

.NET Frameworkも他の役割などと同様、初期状態では未インストールになっているため、以下のコマンド操作によって追加する必要がある。32ビット版アプリケーションを使用するかどうかで内容が異なり、使用する場合にはWOW64の追加も必要になる。

.NET Framework 2.0の追加(32ビット版を使用しない場合)
→start /w ocsetup NetFx2-ServerCore

.NET Framework 2.0の追加(32ビット版を使用する場合)
→start /w ocsetup ServerCore-WOW64
→start /w ocsetup NetFx2-ServerCore-WOW64

.NET Framework 3.5.1の追加(32ビット版を使用しない場合)
→start /w ocsetup NetFx3-ServerCore

.NET Framework 3.5.1の追加(32ビット版を使用する場合)
→start /w ocsetup ServerCore-WOW64
→start /w ocsetup NetFx3-ServerCore-WOW64

これらのコマンド操作で組み込むのは.NET Frameworkだけなので、Windows PowerShellやASP.NETは別途、追加する作業が必要になる。