Hyper-V Server 2008 R2をリモート管理するツールは、もともとWindows Server 2008 R2にはついているのですが、これをWindows 7にインストールできるようにしたものが配布されています。実際にはこのツールを使わないと仮想OSの作成とか設定とかが非常に面倒なので、まあこれをやることになります。(別の方法としては、ダウンロード&インストール可能なWindows Server 2008 Enterpriseの試用版でリモート管理、でしょうか...)
Windows 7 Service Pack 1 (SP1) 用のリモート サーバー管理ツール(x86またはx64)
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d
※Windows Vista用もあります。
このダウンロードはWindows機能のアドオンとして用意されており、インストールすると「Windows 機能の有効化または無効化」に項目が追加されることになります。「リモートサーバー管理ツール」項目の「役割管理ツール」無いにある「Hyper-Vツール」が目的の"Hyper-V マネージャ"です。もちろん、必要に応じて他のツールをインストールすることも可能です。(サポート状況がこちらに載っています。)
さて、このHyper-Vマネージャですが、セキュリティや制限事項が非常に複雑で、マイクロソフトでは以下のシナリオでしかサポートしないとTechnetに書いてあります。
1. ドメインに参加中のWindows7 (Professional以上ということですね) からドメイン内のHyper-Vサーバーを管理する
2. ワークグループ管理のWindows7からワークグループ管理のHyper-Vサーバーを管理する
で、実はうちではノートPCをドメイン参加で使用して、Hyper-Vサーバーはワークグループ管理で動かしています。その場合にも以下のシナリオではHyper-Vマネージャが動作することを確認しました。
3. ドメイン管理のPC内に作成したローカルユーザーアカウントでワークグループ管理のHyper-Vサーバーを管理する
(Hyper-Vサーバーの管理アカウントと同じアカウント、パスワードでローカルユーザーを作成する必要があります)
なぜこのようなことが必要なのか、という簡単な説明ですが、Hyper-Vマネージャの管理対象のHyper-Vサーバーは、このHyper-Vマネージャを動かしているのと同一のアカウントを利用して、逆にサーバー側から管理PCにDCOMログインする、ということが必要なようです。両方ともドメイン環境であればこれは自動的に実現され、あとはDCOMセキュリティとかファイヤーウォールの問題なのですが、大前提として「管理ユーザー名が同じ」「ログインできる=パスワードが同じ」という設定で無いと動作しないのです。
あともうひとつ必要なのが、IPアドレス名前解決の一致です。Hyper-Vマネージャは一見数字のIPアドレスが使えるように見えるのですが、いったん名前に変換した後はすべて名前で通信しようとするようです。これが意味することはActiveDirectory環境であれば自動的に名前とIPアドレスは一致するが、そうでない場合はHOSTSファイルを使用し、サーバー、管理PCの設定を一致させる必要がある、ということです。(特にHyper-Vサーバー上で管理PCを名前でpingできることようなことが必要)
共有フォルダを公開しているPCまたはサーバーであればSMBで取得した情報を元にIPアドレスを知ることができるのですが、単なるワークグループPCで特にファイヤーウォール有効で何も公開していないPCのIPアドレスを知ることは現在は難しい状況です。ドメイン環境で無い場合はあきらめてHOSTSファイルを使用することにしています。その場合、DHCPサーバーのMACアドレス -> IPアドレスの固定割り当て機能が有効です。
この2点だけ注意しておけば、あとは偉大な先人が作ってくれた hvremote.wsh でサーバー側の管理ユーザー追加、管理PC側のDCOMセキュリティ設定&ファイヤーウォール穴あけ&再起動、でHyper-Vマネージャ接続が実現できるはずです。
Configure Hyper-V Remote Management in seconds (hvremote)
http://blogs.technet.com/b/jhoward/archive/2008/11/14/configure-hyper-v-remote-management-in-seconds.aspx
簡単な手順は以下です。
1. サーバー側と管理PCで同じユーザー名、同じパスワードのアカウントを作成
サーバー側では"net user"コマンドでユーザーを作成できます
2. サーバー側で管理ユーザーを設定
cscript hvremote.wsf /add:username
3. 管理PCでこのアカウントでログオン後、DCOMとファイヤーウォールを設定
cscript hvremote.wsf /anondcom:grant
cscript hvremote.wsf /mmc:enable
4. 両方とも再起動
5. 設定チェック
[サーバー側]
cscript hvremote.wsf /show /target:<pcname>
[管理PC側]
cscript hvremote.wsf /show /target:<servername>
これで問題なければ、管理PCの「コントロールパネル」「管理ツール」から「Hyper-Vマネージャ」を起動し、接続先にサーバー名を入力すると管理ツールが接続できるはずです。
(参考)
Windowsでは接続先ごとに使用するパスワードを保存しておく「資格情報マネージャ(Credential Manager)」という仕組みが利用可能です。IEなどで接続先ごとにユーザー名とパスワードを保存しているのも同じ仕組みです。これをコマンドラインで設定するのがcmdkeyコマンド です。これを利用すると接続時に使用するユーザー名を変えることができるらしいのですが...
最近のコメント