このページの本文へ

使って理解しよう!Windows Server 8の姿 第1回

まずはインストール!PowerShellの位置づけを考える

ベータ版登場のWindows Server 8はServer Coreが基本に

2012年03月15日 06時00分更新

文● 横山哲也/グローバルナレッジネットワーク株式会社

  • この記事をはてなブックマークに追加
  • 本文印刷

 2月29日に次期Windowsベータ版「Windows 8 Consumer Preview」の公開と同時に、サーバーOS「Windows Server "8" ベータ版」が公開された。最近のWindows製品は、ベータ版の時点で製品出荷スケジュールが確定していない。Windows Server "8"に関しても完成時期は未定ということだが、2012年内を目標としているようである。

 正式名称も未定であり「Windows Server "8"」はあくまでもコード名である。もっとも、本来の「コード名」は機密を守るためのものである。すでに一般公開されており機密ではないため、「仮称」のほうが適切だ。正式名は「Windows Server 2012」もしくは「Windows Server 2013」になるとも言われている。

 なお、本連載では「Windows Server "8" ベータ版」を扱っていくが、名称が冗長なため以後本文では「Windows Server 8」と表記する。また、あくまでベータ版であり、最終的な製品版では内容が異なる可能性が高いことを了承していただきたい。

Windows Server 8をインストールできるのは?

 Windows Server 8のインストールは、現時点では物理マシンが推奨されている。仮想マシンでの検証はまだ不十分だというのがその理由だ。実際にはWindows Server 8のHyper-V上でWindows Server 8の仮想マシンが正しく動作した。他にもVMwareでのインストールに成功したという報告もあるので、大きな問題はないようだ。

 ただし、筆者がWindows Vista(32ビット版)+VMware Workstation 6.5の環境で試したところ、インストールは失敗してしまった(図1)。Windows Server 2008 R2はインストールできたので、最新版のVMware Workstation 8なら動作するかもしれない。

図1 インストールに失敗した画面。いわゆる「ブルースクリーン」だが、色合いが少し変わり、「顔文字」が表示されるようになった。Macintoshの真似なのだろうが、結局はエラーである

 なお、インストール時に表示される魚の画像(図2)は「トウギョ(闘魚)」で、英語名を「Betta(ベタ)」と呼ぶ。米マイクロソフトの人は「ベータ・フィッシュ」のような発音をしていた。ベータ(Beta)との語呂合わせのようだ。

図2 インストール画面などに登場する「ベータ・フィッシュ」

標準がServer Coreインストールに

 実際のインストール手順は、Windows Server 2008 R2とほとんど同じである。それは、最小限のGUIしか持たない「Server Core」と、標準的なGUIを提供する「GUI使用サーバー」(以前の用語では「フルインストール」)を選択できるのも同じだ(図3)。

図3 インストール形態の選択。推奨は「Server Core」となった。もっとも、Windows Server 2008 R2と異なり、あとからGUIを追加することもできる

 このServer Coreは、Windows Server 2008から導入されたインストール形態で、以下の利点を持つ。

  1. 使用メモリ量が少ない
  2. 使用ディスク量が少ない
  3. バグが少ない

 使用メモリ量の違いは数百MB程度、使用ディスク量の違いは数GB程度だ。そのため、この2点は実際にはそれほどありがたいわけではない。一方、「バグが少ない」ければ修正プログラムの数が減るため、再起動回数を減らせるメリットがある(後述するように、それほど大きなメリットではないと考える人もいる)。

 かつて筆者は、2009年のある数ヶ月に提供された修正プログラムの数を調べたことがあるが、Server Core用の修正はフルインストール用のざっと半分だった。

Server Coreからフルインストールへ

 ただしServer Coreはそれほど普及しているわけではない。バグが少ないといってもゼロになるわけではない。フルインストールにすると、再起動の回数は確実に増えるが、基本的には計画停止であり、業務に与える影響は最小限に留まる。一方でGUI管理ツールの大半が使えないのは日常業務が非常に不便である。

 Windows Server 2008 R2のServer Coreでは.NET Frameworkを追加でき、PowerShellも利用できるようになったが、それでも一部に機能差があったり、コマンドが違ったりしたため、決して使いやすいとはいえなかった。Server Coreからフルインストールへの切り替えもできず、そのためには再インストールが必要だった。

 Windows Server 8では、こうした問題点が解消されている。Server CoreとGUIインストール(フルインストール)の機能差は最小限になり、コマンドも統合された。Server CoreとしてインストールしたあとでもGUI機能を追加できるし、逆にGUIインストールのあとでGUI機能を抜くこともできる。Server Coreを避ける理由はかなり減ったはずだ。

 Server CoreにGUIを追加するには、以下の3種類の方法を使う。結果は同じである。なお、Windows Server 2008にはコマンドラインからコンポーネントを追加する「ServerManagerCMD」コマンドが搭載されたが、Windows Server 2008 R2で早くも「非推奨」となっていた。そして、Windows Server 8では正式に削除されている。

SCONFIGコマンドによるメニュー選択

 1つ目のSconfigはVBScriptによるメニューシステムで、Windows Server 2008 R2から導入された。必要最小限の機能しか持たないが、ネットワークインターフェイスの設定など、コマンドでは面倒な作業を簡単に行なえる(図4)。

SCONFIGコマンドの実行例

 Sconfigを実行すると上記のようなメニューが表示される。ここで、

12) グラフィカルユーザーインターフェイス(GUI)の復元

を選択すると、OSのGUI機能が拡張され、GUIベースの管理ツールがインストールされる。

GUIがインストールされる

PowerShellのInstall-WindowsFeatureコマンド

 2つ目の方法は、PowerShellのコマンドだ。PowerShellを起動し、「Install-WindowsFeature」コマンドレットで「Server-Gui-Mgmt」と「Infra Server-Gui-Shell」を有効にする。実際のコマンドは以下の通りである。

Install-WindowsFeature Server-Gui-Mgmt-Infra Server-Gui-Shell

 Install-WindowsFeatureの代わりに「Add-WindowsFeature」でもかまわない(単なる別名である)。

 削除する時は「Remove-WindowsFeature」コマンドレットを使う。また、現在の機能一覧は「Get-WindowsFeature」でわかる。

 なお、Windows Server 2008 R2で必要だった「Import-Module ServerManager」コマンドは不要である(実行してもエラーにはならない)。

DISMコマンド

 コマンドラインツールの「DISM(Deployment Image Servicing and Management:展開イメージのサービスと管理)」コマンドでも同じことができる。ただし、機能の名前がPowerShellの場合と微妙に違うので注意してほしい。

Dism /online /enable-feature /featurename:Server-Gui-Shell /featurename:Server-Gui-Mgmt

 削除は/enable-featureの代わりに「/disable-feature」を使う。一覧の表示は、

Ddism /online /get-features

である。

 Windows Server 2008 R2からの機能として、DISMコマンドはオフラインのWindowsに対しても適用できる。Windows 8でも「DISM /offline」を使うことで、起動中ではないWindowsの(たとえば仮想マシンのVHDに対して)機能を追加できる。

 なお、1番目のSconfigコマンドは、内部的にはこのDISMコマンドを呼び出している。

Server Coreは普及するか

 Windows Serverは、コマンド中心だったサーバーの世界にGUIを持ち込み大成功した。当時、多くのIT専門家が「サーバーにGUIは無駄である」と主張していたが、GUIのおかげでWindowsは急速にシェアを伸ばしたのはご存じの通りである。

 そのWindowsが、最大の成功要因であるGUIを捨ててきた。果たして市場はどう判断するだろうか。筆者は、Server Coreはある程度受け入れられるものの、主流にはならないと考えている。

 日常的なサーバー管理業務については、コマンドのほうが明らかに有利である。完全に同じ作業を正確に再現しやすいし、マニュアルも作りやすい。スクリプトを書くことで自動化も簡単にできる。そのため、Windowsはバージョンを重ねるごとにコマンドが強化されてきた。その集大成がPowerShellである。

 Windowsにもともと備わったコマンド群は、はっきり言って「行きあたりばったり」であり、コマンドごとの統一性がまったくない。UNIXのコマンドも統一性に欠けるが、Windowsはさらにいい加減である。「いくら強化されても、こんなコマンドは使いたくない」というのが正直な感想だ。念のため書いておくと、筆者はコマンドを多用する方だ。ディスクパーティション操作やフォルダの作成、ファイルの移動やコピーはすべてコマンドで行なっている。Active Directoryユーザーの検索も基本はコマンドだ。それでもWindowsのコマンドは使いやすいとは思わない。

 PowerShellのコマンド(コマンドレット)は、使い方に統一性があり、ヘルプシステムも充実している。新しいコマンドレットを作成するのも難しくない。何より、マイクロソフトが全社を挙げてサポートしている。同社の「Exchange Server」や管理ツール「System Center Virtual Machine Manager(VMM)」には、GUIツールと完全に同じ機能を持つPowerShellコマンドレットが利用できる。これらの製品のGUIツール自体、内部でPowerShellスクリプトを生成して操作を行なっているのだから、PowerShellで何でもできるのはあたり前である。

 Windows Server 2008のServer CoreはPowerShellが使えず、失望した人が多かった。しかし、Windows Server 2008 R2からPowerShellがサポートされ、コマンドレットも拡張された。従来なかったHyper-V関連のコマンドレットも追加されている。PowerShellがあれば、Server Coreの使い勝手は格段に向上するはずだ。Windows Server 8では、クライアントOS(Windows 8)にGUI管理ツールをインストールできる。GUIが必要な場合は、Windows 8からWindows Server 8をリモート管理できるわけだ。そのため、Server Coreだからできないことはほとんどない。

 もっとも、GUIインストールでもPowerShellは完全に動作するから、「コマンドがあるから」というのがServer Coreを選ぶ理由にはならない。筆者の、あまり根拠のない推測では「コマンドもGUIも、両方使えるほうがよかろう」と思う人が8割程度いる、つまりServer Coreのインストール比率は20%と予想している。

PowerShellとCMD.EXE

 Server CoreインストールのWindowsは、ログオン後コマンドプロンプト(CMD.EXE)が1つだけ起動する。つまり、Server Coreの標準シェルはCMD.EXEだということになる。

 一方、GUIインストールの場合はコマンドプロンプトへのショートカットが見あたらない。キーボードの「Windows」キーを押すと、Metro Styleの起動画面が表われるが、ここにもコマンドプロンプトのショートカットはない。そのため、画面右下端にマウスカーソルを持っていくと、メニューが表示されるので「検索」からアプリ検索をかけて「コマンドプロンプト」を探すはめになった(図5)。

「コマンドプロンプト」を実行するには

 ところが、PowerShellはタスクバーに最初から登録されており、簡単に起動できる。マイクロソフトがPowerShellを重視している証拠だろう。今後、Server Coreの標準シェルがPowerShellになっても筆者は驚かない。また、すべての管理者はPowerShellを習得すべきだと考える。

 Windows Server 8の製品版が登場するまではもう少し時間がある。PowerShellはすぐに使え、今後ますます重要になる。ぜひ今から勉強してほしい。

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード