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
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 に接続することはできません。その理由はこちら
返信削除