Нaстройка удаленного доступа к Hyper-V

Мы только что рассмотрели, как делегировать пользователю права на управление Hyper-V. Но этими правами пользователь сможет воспользоваться, только работая на сервере локально.

Для того, чтобы управлять гипервизором с другого компьютера, пользователю, который не является администратором, потребуется выполнить ряд настроек — как на стороне сервера, так и на стороне клиента.

Описанные в этой статье шаги применимы к версии RC0 гипервизора Hyper-V и RC0 версии клиентской утилиты управления Hyper-V Manager для Vista SP1 (x86 и x64).

Итак, на сервере следует выполнить следующие шаги:

  • Разрешить в Windows Firewall правило «Windows Management Instrumentation (WMI)» следующей командой:

netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes

Внимание: в различных локализованных ОС встроенные правила брандмауэера могут назваться по-разному. Необходимо указать название правила именно так, как оно выглядит в инструментах управления Windows Firewall. Например, в русской версии Windows Server 2008 приведенная выше строка будет выглядеть так:

netsh advfirewall firewall set rule group="Инструментарий управления Windows (WMI - входящий трафик)" new enable=yes

  • Предоставить пользователю права на удаленный запуск (remote launch and activation) в DCOM. Это можно сделать как для конкретного пользователя или группы, так и для всех AUTHENTICATED USERS.
    1. Нажмите Start, выберите Run, запустите dcomcnfg.exe.
    2. В Component Services раскройте Computers, правой кнопкой нажмите на My Computer и выберите в меню пункт Properties.
    3. В My Computer Properties раскройте COM Security.
    4. В Launch and Activation Permissions выберите Edit Limits.
    5. В случае, если пользователь не указан в списке Groups of user names в окне Launch Permission , добавьте его кнопкой Add.
    6. В Launch Permission выберите пользователя или группу и в колонке Allow в Permissions for user укажите Remote Launch и Remote Activation. Нажмите OK.
  • Предоставить пользователю права на удаленное управление (remote enable) в пространстве имен (namespace) root\CIMv2 и root\virtualization. Это можно сделать как для конкретного пользователя или группы, или для AUTHENTICATED USERS.
    1. В Control Panel зайдите в Administrative Tools и запустите Computer Management.
    2. В Computer Management раскройте Services and Applications, правой кнопкой выберите WMI Control и нажмите Properties.
    3. В закладке Security выберите Advanced.
    4. В случае, если пользователь не указан в списке Permission в окне Advanced Security Settings, добавьте его кнопкой Add.
    5. В Advanced Security Settings выберите имя пользователя и нажмите Edit.
    6. В выпадающем меню Apply To окна Permission Entry выберите This namespace and subnamespaces и укажите Remote Enable в колонке Allow. Нажмите OK.
  • Предоставьте пользователю права на Hyper-V. Эта процедура описана в предыдущей статье.
  • Перезагрузите сервер. (Если вы хотите избежать перезагрузки сервера, достаточно перезапустить следующие сервисы: winmgmt, vmms, vhdsvc & nvspwmi).

Внимание: если сервер с установленной ролью Hyper-V, которым вы хотите управлять удаленно, используя локальную запись с правами администратора, не входит в домен, и при этом на сервере включен User Account Control (UAC), то имейте в виду следующее. По умолчанию к локальным учетным записям при неинтерактивном (в том числе сетевом) доступе применяется UAC Filtering. То есть, даже если вы являетесь администратором сервера, при попытке удалённого подключения UAC предоставит вам права стандартного пользователя. Поэтому в таком случае вам потребуется напрямую предоставить пользователю права на Hyper-V способом, описанным в предыдущей статье.

Итак, сервер мы настроили. Теперь ряд настроек потребуется выполнить и на клиентском ПК с Vista SP1.

  • Разрешить на Windows Firewall правило «Windows Management Instrumentation (WMI)» командой

netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes

В русской версии Windows Vista эта же команда выглядит следующим образом:

netsh advfirewall firewall set rule group="Инструментарий управления Windows (WMI - входящий трафик)" new enable=yes 

А на системах с ОС, предшествующими Windows Vista (Windows XP / 2003), для этого служит команда

netsh firewall set service RemoteAdmin enable

  • На системах с ОС, предшествующих Vista (Windows XP / 2003), следует также добавить исключение для исполняемого файла Unsecapp.exe:

netsh firewall add allowedprogram program=%windir%\system32\wbem\unsecapp.exe name=UNSECAPP

  • Добавить в Windows Firewall исключение для исполняемого фалйла mmc.exe:

netsh firewall add allowedprogram program=%windir%\system32\mmc.exe name="Microsoft Management Console"

  • Если клиент или сервер находятся в рабочей группе или они находятся в разных доменах, между которыми нет доверительных отношений, то соединение от сервера до клиента, устанавливаемое для доставки результирующей информации, происходит анонимно. Анонимное соединение завершается неудачно с кодом ошибки 0x80070005 или 0x8007000e до тех пор, пока анонимному соединнеию не будет дано право Remote Access на DCOM клиента. Дать это право можно, выполнив следующие шаги:
    1. Нажмите Start, выберите Run, запустите dcomcnfg.exe.
    2. В Component Services раскройте Computers, правой кнопкой выберите My Computer и укажите Properties.
    3. В My Computer Properties раскройте COM Security.
    4. В Launch and Activation Permissions выберите Edit Limits.
    5. В окне Access Permissions выберите ANONYMOUS LOGON в списке Group or user names. В колонке Allow в Permissions for User укажите Remote Access и нажмите OK.

После выполнения всех описанных действий вы, наконец, получите возможность удаленно подключаться к серверу и управлять ролью Hyper-V.