ここは知っておくべき!Windows Server 2008技術TIPS

第1回Windows Server 2008でのサーバ管理

初回である今回は、Windows Server 2008のサーバ管理についてご紹介します。⁠サーバーマネージャ」「Power Shell」について見ていきましょう。そのあとにWindows Server 2008 R2での変更点や強化されたポイントを取り上げます。

サーバーマネージャ

従来のサーバOSで各サービスを管理する際には、⁠管理ツール」からアクセスできる専用のMMCスナップインや、カスタマイズしたMMCスナップインを使っていたかと思います。2008では、⁠サーバーマネージャ」という新しいツールを利用することで、従来からのスタートメニューからアクセスできる管理ツールが統合され、さらに従来「コンピュータの管理」で行っていた操作が実行できます。

また、新しいサービスのインストールも、別途「プログラムの追加と削除」「Windowsコンポーネントの追加と削除」などを利用せずに、この「サーバーマネージャ」から可能となっています。

図1 サーバーマネージャ
図1 サーバーマネージャ

「サーバーマネージャ」の起動方法はとても簡単です。インストール直後であれば、⁠初期構成タスク」⁠コンピュータ名やネットワーク設定などの従来インストール中での設定項目を構成するためのもの)を閉じれば自動的に起動します。また、スタートメニューやクイック起動ツールバーから起動可能です。

左ペインは「役割」⁠機能」⁠診断」⁠構成」⁠記憶域」の5つがあり、新しい機能をインストールする場合には「役割」あるいは「機能」から行います。ただし、この「役割」「機能」の違いがはじめは区別しにくいと感じるかもしれません。

一言で言うと、⁠役割」はサーバの主要な働き、⁠機能」はその補助的な働きを指しています。

それぞれのインストールは各ノード(左ペインの「役割」「機能⁠⁠)を右クリックして、⁠追加」を選択します。追加ウィザードが起動しますので、簡単に進むことができます。削除の場合も同じく右クリックから操作可能です。

図2 役割ウィザード
図2 役割ウィザード

表1 役割の一覧

アプリケーション サーバー
DHCP サーバー
DNS サーバー
IIS
Active Directory 証明書サービス
Active Directory ドメイン サービス
Active Directory フェデレーション サービス
Active Directory ライトウェイト ディレクトリ サービス
Active Directory Rights Management サービス
FAX サーバー
ファイル サービス
Windows Server 仮想化
ネットワーク ポリシーとアクセス サービス
印刷サービス
ターミナル サービス
Universal Description, Discovery, and Integration サービス
Windows 展開サービス

表2 機能の一覧

Microsoft .NET Framework 3.0 の機能
BitLocker ドライブ暗号化
BITS サーバー拡張
接続マネージャ管理キット
デスクトップ エクスペリエンス
フェールオーバー クラスタリング
グループ ポリシーの管理
インターネット印刷クライアント
インターネット記憶域ネーム サーバー
LPR ポート モニタ
メッセージ キュー
マルチパス I/O
ネットワーク負荷分散
ピア名解決プロトコル
高品質な Windows オーディオ ビデオ エクスペリエンス
RDC(Remote Differential Compression)
リモート アシスタンス
リモート サーバー管理ツール
リムーバブル記憶域マネージャ
RPC Over HTTP プロキシ
NFS 用サービス
簡易 TCP/IP サービス
SMTP サーバー
SNMP サービス
記憶域ネットワーク用記憶域マネージャ
UNIX ベース アプリケーション用サブシステム
Telnet クライアント
Telnet サーバー
簡易ファイル転送プロトコル クライアント
Windows Internal Database
Windows インターネット ネーム サービス(WINS)
Windows Server バックアップ
Windows システム リソース マネージャ
ワイヤレス LAN サービス
Windows PowerShell
Windows プロセス アクティブ化サービス

「診断」では、イベントビューアやデバイスマネージャが利用できます。⁠構成」ではローカルアカウント管理やタスクスケジューラへアクセスでき、⁠記憶域」からはバックアップやディスクの管理が操作可能です。

以前のOSでは操作の内容によって、⁠管理ツール」「コンピュータの管理」を切り替えなければいけませんでしたが、1つのコンソールに統合化されましたのでとても便利になったのではないかと思います。

ただし、いくつか気になることも。まず、このサーバーマネージャはローカルのサーバだけを管理するようになっていますので、一度に複数のサーバを管理することはできません。また、Vistaなどの以前のOSにサーバーマネージャをインストールして使用することもできませんので注意しましょう。

PowerShell

WindowsといえばGUIといったイメージをお持ちの方も多いかと思いますが、2008ではCUIとしての強力な管理ツールである「PowerShell」が搭載されています。この「PowerShell」は、単体で2008発売前から提供されており、⁠Exchange Server 2007」ではすでに組み込まれているためご存知の方もいらっしゃるかもしれません。OSに搭載されたのはWindows Server 2008が初めてとなります。ただし、すぐに使える状態ではなく、前述の「機能」としてインストールしなければなりません。

図3 PowerShellの追加
図3 PowerShellの追加
図4 PowerShell
図4 PowerShell

PowerShellの画面が起動したら、まず何から始めたらよいのでしょうか? もちろん、目的の作業が決まっているのであれば、必要なコマンドを入力して管理を始めていきます。はじめてPowerShellを使うという方には以下のコマンドをお勧めします。

Get-Command

PowerShellには現時点で130を超えるコマンドラインツール(⁠⁠コマンドレット」と呼ばれます)が存在しますが、その一覧を確認することができます。また、ほぼすべてのコマンドレットが「動詞-(ダッシュ)名詞」の形式で構成され、ほかのコマンドレットとの組み合わせも可能です。

単純に設計されており「Get」はデータを取得し、⁠Set」はデータの設定・変更に使われます。さらにそれぞれのコマンドレットには詳細なヘルプも用意されていて、説明や構文・使用例が表示されるので習得しやすい環境となっています。

Get-Help <コマンドレット名> -detailed

パイプライン処理もPowerShellでよく使用される機能の1つです。従来のコマンドプロンプトなどでもパイプライン処理はおなじみで、フォルダの内容を表示させる場合に「dir | more」といったコマンドを使用したことがあるかと思います。これは、dirによって取得したフォルダの中身を、moreコマンドに渡してページに区切って表示させるコマンドです。

従来のパイプライン処理ではテキストがやり取りされていたため、結果テキストを解析し、場合によっては正規表現を利用して目的の情報を取り出す必要があり、煩雑な作業を要していました。ところが、PowerShellは「.NET Framework」を元に開発されているため、テキストではなくオブジェクトがやり取りされます。

つまり、受け取り側のコマンドレット(⁠⁠|」の後ろ側)は、変換や取り出しの操作をすることなく、通常のコマンドレットとしてプロパティやメソッドの操作ができるわけです。たとえば、以下のコマンドでは「ipconfig」コマンドが実行され、その結果が「findstr」コマンドに渡されています。ipconfig結果の文字列を計算したりせず、目的の情報を得ることができるわけです。

Ipconfig | findstr”Address”
         IP Address…………………….X.X.X.X

PowerShellではスクリプトも完全にサポートされ、とても便利です。繰り返し実行するコマンドレットや、複雑なタスクを組み合わせて行う場合にはコマンドレットをファイルに保存して、スクリプトとして実行することが可能です。スクリプトファイルの拡張子は「.ps1」で、スクリプトファイル名を入力すれば実行できます。

ただし、便利な反面、悪意あるコードが実行される危険性もあるため、PowerShellの「実行ポリシー」と呼ばれるセキュリティポリシーによって、スクリプトの実行許可やデジタル署名の要求などの指定が可能です。

Get-ExecutionPolicy

このコマンドによって、現在のポリシー設定を確認することができます。ポリシーには以下の4種類のレベルがあります。

表3 PowerShellの実行ポリシーレベル

Restricted
すべてのスクリプト実行不可。対話型モードでのみPowerShell使用可。
AllSigned
すべてのスクリプトに信頼できる発行元の署名が必要。
RemoteSigned
ダウンロードしたスクリプトにのみ信頼できる発行元の署名が必要。
Unrestricted
制限なし。すべてのスクリプトを実行可。

目的のポリシーに設定するには以下のようにSetを使用すればいいわけです。

Set-ExecutionPolicy <ポリシーレベル>

最後にPowerShellの強力な機能を紹介します。

ファイルシステム内をcdやdirコマンドで移動するのと同じように、異なるデータストア内(レジストリや証明書ストア)も移動可能です。

これはPowerShell内に専用のドライブの概念があることで実現できています。C: やD: といった一般的なファイルシステムと同じように、⁠HKEY_LOCAL_MACHINE」レジストリをあらわす「HKLM:」やデジタル署名証明書ストアをあらわす「Cert:」などがあり、移動が可能です。

PowerShellドライブの一覧を表示するには次のコマンドを利用します。

Get-psdrive

ただし、このドライブはPowerShell内でのみ有効で、エクスプローラやコマンドプロンプト内では表示やアクセスはできませんので注意が必要です。

このPowerShellはXP(SP2)やServer 2003へも無償インストールが可能ですので、Windows Server 2008の環境がない方でも試すことが可能です。ただし、⁠.NET Framework 2.0」以降が必要ですので、あわせてインストールすることも忘れないようにしましょう。

Windows Server 2008 R2の新機能

続けて、2009年秋に発売された「Windows Server 2008 R2」⁠以下R2)にフォーカスをあて、新機能や強化された部分をご紹介します。ちなみにR2は64ビット版のみの提供となっており、32ビット版の提供はありません。

サーバ管理に関して、R2で特筆すべきは「サーバーマネージャ」のリモート管理サポートではないかと思います。2008でのサーバーマネージャはローカルマシンの管理・構成しかできませんでしたが、R2では簡単にリモート管理が可能になっています。操作は既存のMMCから「別のコンピュータへ接続」するのと同じ方法で可能です。Coreへの接続にも対応しています。

図5 サーバーマネージャのコンテクストメニューから「別のコンピュータへ接続」を選ぶ
図5 サーバーマネージャのコンテクストメニューから「別のコンピュータへ接続」を選ぶ
図6 開いたダイアログにコンピュータ名を入力
図6 開いたダイアログにコンピュータ名を入力

もう1つ、R2で強化された機能としてはPowerShellのバージョンアップです。R2ではPowerShell2.0が搭載されました。さらにGUIの開発環境である「Windows PowerShell ISE(Integrated Scripting Environment⁠⁠」が提供され、デバッグなどが可能となりました。既定ではインストールされていないため、⁠機能の追加」を行う必要があります。

図7 機能の追加ウィザードから「Windows PowerShell Integrated Scripting Environment」を選んで追加
図7 機能の追加ウィザードから「Windows PowerShell Integrated Scripting Environment」を選んで追加

ISE画面は3分割で構成され、上から「スクリプト記述場所」⁠結果出力」⁠コマンド入力」となっています。

図8 Windows PowerShell ISE
図8 Windows PowerShell ISE

また「モジュール」と呼ばれる機能も追加され、自作することも可能ですが、R2組み込みのものもいくつか提供されています。中でも使用頻度が高いのは「Active Directory モジュール」だと思われます。ただし、既定の状態では利用できませんので以下のコマンドでモジュールをインポートしてください。

Import-Module ActiveDirectory

以下は、インポート後「Get-Command」実行結果の一部です。コマンド一覧の中に、⁠Get-ADXXXXXX」とADで始まるコマンドレットが追加されているのがわかります。これらのコマンドを使用して、Active Directory内のユーザーオブジェクトやグループオブジェクトに対して操作をすることが可能です。

図9 Get-Commandで表示されたコマンドの一覧(部分)
図9 Get-Commandで表示されたコマンドの一覧(部分)

また、ディレクトリと同じように「cd」コマンドを使ってActive Directoryの階層をたどることもできるようになっています。

図10 cdコマンドでActive Directory階層を辿る(1)
図10 cdコマンドでActive Directory階層を辿る(1)
図11 cdコマンドでActive Directory階層を辿る(2)
図11 cdコマンドでActive Directory階層を辿る(2)
図12 cdコマンドでActive Directory階層を辿る(3)
図12 cdコマンドでActive Directory階層を辿る(3)

コマンド実行結果とおなじみのGUI管理ツールとを比べると、もちろん同じ結果になっていることがわかります。

図13 MMCスナップインで図12と同じ階層を表示したところ
図13 MMCスナップインで図12と同じ階層を表示したところ

次回は、Server Coreについて取り上げていきたいと思います。

おすすめ記事

記事・ニュース一覧