Enterprise Watch
バックナンバー

新機能「Server Core」を使う【第三回】

Server Coreをリモートから管理する

 前回の記事で、コンソールからの最低限の操作ができるようになっただろう。しかし、操作を行うのに、Server Coreのコンソールを使っていると、かなり不便だ。そこで、今回は、Server CoreをリモートPCから操作する方法を紹介しよう。


リモート管理の方法はさまざま

 Server CoreをリモートPCから操作する方法としては、大きく分けて、

  • Windowsリモート管理(WinRM)とWindowsリモートシェル(WinRS)の利用
  • リモートデスクトップの利用(バリエーションとしてターミナルサーバーのRemoteAppを使う方法もある)
  • リモートPCからMMCで操作

の3つが存在する。

 WinRM+WinRSは、基本的には、リモートPCからWinRSを使って入力されたコマンドラインを、Server Coreで受け取り実行する仕組みだ。httpを使うWebサービス(WS-Management)がプロトコルとして利用されているので、インターネットなどの外部ネットワークなどから、Server Coreをコントロールすることも可能だ。

 リモートデスクトップは、RDPプロトコルを利用して、リモートPCからServer Coreにアクセスする方法。これを使えば、Server Coreのコンソール画面をリモートPC上に再現できる。

 MMC(マイクロソフト管理コンソール)は、アプリケーションなどを一元的に管理するためのUIを提供するプログラム。MMCを使うことで、Windows Server 2008で使われている管理ツールをServer Coreでも利用できるのが利点だ。

 WinRM+WinRSは、基本的にコマンドラインをリモートPCで使えるようにしたモノだ。このため、使いやすいモノとはいえない。そこで、お薦めしたいのは、リモートデスクトップとMMCの両方を使ったServer Coreの管理だ。

 リモートデスクトップを使うことで、Server Coreの操作をリモートPCで行うことができる。しかし、コマンドラインが中心の操作になる。そこに、リモートPCからMMCを使って、GUIで操作したり、データやログを見たりするようにできれば、非常に使いやすくなる。


リモートデスクトップを利用する

 Server Coreでは、初期状態でターミナルサービスがインストールされている。ただし、ファイアウォールの設定などがオフになっているため、単にリモートPCから接続しただけでは動作しない。前回紹介したとおり、Server Coreでリモートデスクトップを動かすには、Server Coreで、

cscript c:\windows\system32\scregedit.wsf /ar 0


を実行して、リモートデスクトップが利用できるようにする必要がある(リモートデスクトップをオフにするには、引数を1にすればOK)。

 Windows Server 2008のリモートデスクトップでは、セキュリティ上ネットワークレベル認証が利用されている。これは、Server Coreでも同じだ。このため、リモートデスクトップで接続できるのは、Windows Server 2008、Vista、XP SP3などのリモートデスクトップ接続からになる(RDP 6.0以降)。もし、昔のリモートデスクトップ接続プログラム(RDP 5.2以前)を使用する場合は、

cscript c:\windows\system32\scregedit.esf /cs 0


というコマンドを利用する(ネットワークレベル認証に戻すときは、引数を1にする)。

 セキュリティ面を考えれば、ネットワークレベル認証を使って、リモートデスクトップ接続した方がいいだろう。

 リモートデスクトップが動作すると、コマンドをコピー&ペーストで貼り付けることができる。後は、この記事のコマンドをコピペすれば、打ち間違いもなくなり便利だ。


リモートでMMCを利用する

 Windows Server 2008のMMCには、インストールした「役割」のスナップインのみインストールされている。これでは、リモート管理するためだけに「役割」をインストールすることになる。こうした問題を解決するために、Windows Server 2008にはインストールされていない「役割」のMMCスナップインを利用できる「リモートサーバー管理」という機能が用意されている。リモートサーバー管理は、Server Coreでも利用できる。

 Windows Server 2008には、サーバーマネージャという機能により、ローカルサーバーの管理を一括して行える。リモートのサーバー(Server Coreも)の管理を行うには、Windows Server 2008の機能から[リモートサーバー管理ツール]をインストールすればいい。すると、メニューの[管理ツール]にインストールしたツールが表示されている。あとは、必要なツールを起動して、サーバー名を指定して接続すればOK。これにより、実際に役割をインストールしなくても、管理ツールだけがインストールされる。

 ただし、Hyper-Vのリモート管理を行うときは、管理ツールの更新プログラムをインストールする必要がある。


 Windows VistaからServer Coreをリモート管理する場合、Vista用のRSAT(32ビット版・64ビット版)を利用することで、Vistaをサーバー管理用のクライアントPCとして使用できる。


 RSATをインストールしたあと、Windows Vistaのコントロールパネルにある[プログラムと機能]→[Windowsの機能の有効化または無効化]から、必要とする[リモートサーバー管理ツール]をインストールする。これで、Windows VistaからServer Core管理用のツールが表示される。なお、スタートメニューのプロパティで管理ツールをメニューに表示されるようにしておくと便利だ。


RSATのプログラムをインストール後、[コントロールパネル]→[プログラムと機能]→[Windowsの機能の有効化または無効化]から、必要とする[リモートサーバー管理ツール]をインストールすればOK スタートを右クリックして[プロパティ]をクリックし、[スタート]メニューの[カスタマイズ]をクリック。システム管理ツールの[[すべてのプログラム]メニューと[スタート]メニューに表示する]を選択すると管理ツールをスタートメニューに表示できる RSATをインストールすると、これだけの管理ツールがインストールされる

 Server Coreでは、各種の「役割」をインストールすれば、自動的にその役割(例えば、Hyper-V、DNS、DHCPなど)で使用するファイアウォールの設定が変更される。しかし、「コンピュータの管理」「イベントビューア」などをリモートのMMCで管理するには、Server Core上でユーザー自身がファイアウォールの設定を変更する必要がある。

netsh advfirewall firewall set rule group="リモート管理" new enable=yes


というコマンドを入力してファイアウォールの設定を変更する必要がある。

 あとは、リモートPCでMMCを起動して、[ファイル]→[スナップインの追加と削除]をクリックし、[利用できるスナップイン]から[コンピュータの管理]を選択し追加する。その後、[別のコンピュータ]に、Server Coreのコンピュータ名もしくはIPアドレスを入力すればいい。


[コンピュータの管理]を選択し、[追加]をクリック 接続するServer Coreのコンピュータ名もしくはIPアドレスを入力 スナップインを追加したら[OK]をクリックする

デバイスマネージャをリモートで管理

 コンピュータの管理にある[システムツール]には、ハードウェアの情報を表示する[デバイスマネージャ]が存在する。Server CoreのデバイスマネージャをリモートPCのMMCで表示することができる。ただし、デバイスマネージャの情報をリモートPCのMMCで表示できるだけで、変更などは行えない。

 リモートPCからデバイスマネージャは、標準設定のままでは表示することができない。これを許可するには、MMCにServer Coreの[グループポリシーオブジェクトエディタ]を追加する必要がある。[スナップインの追加と削除]から[グループポリシーオブジェクトエディタ]を追加する。追加後、[参照]をクリックして[別のコンピュータ]を選択し、Server Coreのコンピュータ名もしくはIPアドレスを入力する。

 追加したポリシーから、[コンピュータの構成]→[管理用テンプレート]→[システム]→[デバイスのインストール]を選び、[PnPインターフェイスへのリモートアクセスを許可する]を[有効]にする。その後、Server Coreを再起動すれば、リモートPCのMMCからデバイスマネージャが表示される。


リモートでデバイスマネージャにアクセスすると、リモートでのデバイスの変更ができないというメッセージが表示される Server Coreのコマンドラインでは、どのデバイスドライバがインストールされているかわかりにくいが、MMCからなら一目で確認できる

Server Coreのディスクをリモートで管理

 デバイスマネージャと同じように、Server Coreのディスクもリモートで管理することもできる。

 Server Core側のコマンドラインで、

netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes


さらに、

net start vds


で、Virtual Diskサービスを起動する。

 さらに、アクセスするリモートPC側のコマンドラインでも、

netsh advfirewall firewall set rule group="リモート ボリューム管理" new enable=yes


を実行して、ファイアウォールの受信ルールを変更する必要がある。


ディスク管理もGUIで手軽に行える リモートPCからパフォーマンスモニタも確認することができる Server Coreで動作しているサービスもGUIで確認ができる

ファイアウォールをリモートで管理する

 Server CoreのファイアウォールをリモートPCのMMCからコントロールすることもできる。

 Server Core側のコマンドラインで、

netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=yes


もしくは、

netsh advfirewall set currentprofile settings remotemanagement enable


というコマンドを入力すればいい。


ファイアウォールをリモートで管理するには、[セキュリティが強化されたWindowsファイアウォール]を使う これでファイアウォールの状態をリモートで簡単に確認できる

 次回は、Server Coreに役割を追加する方法を紹介する。



URL
  Windows Server 2008
  http://www.microsoft.com/japan/windowsserver2008/

関連記事
  ・ 新機能「Server Core」を使う【第一回】(2008/07/17)
  ・ 新機能「Server Core」を使う【第二回】(2008/07/24)
  ・ 新機能「Server Core」を使う【最終回】(2008/08/07)


( 山本 雅史 )
2008/07/31 00:01

Enterprise Watch ホームページ
Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.