2013/03/12

Windows Server 2012 > 非ドメイン環境におけるHyper-Vのリモート管理

Active Directory ドメインの無い環境で、Windows Server 2012 Hyper-V や Microsoft Hyper-V Server 2012 をリモートの Windows Server 2012 や Windows 8 の[Hyper-V マネージャー]から管理しようとすると、簡単には接続できないと思います。

というわけで、必要な設定をメモ。



● Hyper-V ホストの名前解決 (%Windir%\System32\drivers\etc\hosts)

この設定は、[Hyper-V マネージャー]を実行する側の設定です。Hyper-V ホストのコンピューター名を名前解決できるように、%Windir%\System32\etc\hosts ファイルにコンピューター名と IPv4 アドレスの対応を記述します。



● WinRM の信頼されたホスト (TrustedHosts)

Active Directory ドメイン環境でない場合(ワークグループ環境の場合)、WinRM のリモート接続には Kerberos 認証ではなく、NTLM 認証が使用されます。NTLM 認証を使用可能にするには、WinRM の TrustedHosts に Hyper-V ホストを登録します。

WinRM コマンドを使用する場合は、こんな感じ。

winrm set winrm/config/client @{TrustedHosts="<コンピューター名a>,<コンピューター名b>"}

Windows PowerShell を使用する場合は、こんな感じ。

Set-Item wsman:\localhost\Client\TrustedHosts <コンピューター名a> -Concatenate
Set-Item wsman:\localhost\Client\TrustedHosts <コンピューター名b> -Concatenate


● Hyper-V ホストのローカル管理者の資格情報を使用(Cmdkey)

この設定は、[Hyper-V マネージャー]を実行する側の設定です。 [Hyper-V マネージャー]は、現在、ログオン中のユーザーの資格情報を使用してリモートの Hyper-V ホストに接続しようとします。ローカル ユーザーのユーザー名とパスワードが、Hyper-V ホストのローカル管理者のユーザー名とパスワードと一致している場合は、パススルー認証できるので、何もする必要がありません。異なるユーザー名でログオンしている場合は、Cmdkey.exe を使用して、別の資格情報を指定し、設定保存することができます。


● COM セキュリティで匿名リモート アクセスを許可 (Dcomcnfg.exe)

この設定は、[Hyper-V マネージャー]を実行する側の設定です。 [コンポーネント サービス](Dcomcnfg.exe)を起動し、[マイ コンピューター]のプロパティの[COM セキュリティ]タブを開きます。[アクセス許可]にある[制限の編集]ボタンをクリックして、[ANONYMOUS LOGON]に対する[リモート アクセス]の[許可]を設定します。

この設定をしていない場合、次のようなエラーになるはずです。
● ファイアウォールの許可 (セキュリティが強化された Windows ファイアウォール)

この設定は、Hyper-V ホスト側の設定です。Hyper-V の役割が有効化してあれば、リモート管理のための受信の許可は既定でできているはずですが、念のため。

NETSH コマンドを使用する場合

netsh advfirewall firewall set rule group="Hyper-V" new enable=yes
netsh advfirewall firewall set rule group="Hyper-V 管理クライアント" new enable=yes 

● リモート UAC の無効化 (オプション)

この設定は、[Hyper-V マネージャー]を実行する側の設定です。ビルトインの Administrator アカウント以外を使用している場合、ユーザー アカウント制御 (UAC) の動作が影響して、接続に失敗する場合があります。その場合は、LocalAccountTokenFilterPolicy というレジストリ値に 1 を設定します。Cmdkey.exe で資格情報を指定している場合は、この設定は不要だと思います。

REG コマンドを使用する場合は、こんな感じ。


REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Windows PowerShell から設定する場合は、こんな感じ。
 
New-ItemProperty -Name LocalAccountTokenFilterPolicy -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -propertyType DWord -value 1  

2 件のコメント:

匿名 さんのコメント...

workgroup環境で設定にてこずっていました。とてもたすかりました。ありがとうございます。

山市 良 さんのコメント...

Windows 7やWindows Server 2008 R2のHyper-V マネージャーからは、Windows Server 2012 Hyper-V や Microsoft Hyper-V Server 2012 に接続してリモート管理できますが、Windows Server 2012 R2 や Microsoft Hyper-V Server 2012 R2 に接続することはできません。その理由はこちら