다음을 통해 공유


Н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.

Comments

  • Anonymous
    January 01, 2003
    Уже все конечно отпиарили, но не могу удержаться - уж больно хороший блог Алексея Кибкало. Даже у Virtual PC Guy такого контента не встречал, а тут еще и на русском! Сегодня после проведения вебкаста по PowerShell , сразу начну воплощать пару статей в

  • Anonymous
    January 01, 2003
    Не понял вопроса. Удаленно или локально можно управлять при помощи Hyper-V Manager. На Vista SP1 он доставляется как add-on с сайта, на WS2008 как фича ОС (Remote Server Administration Tools) Можно управлять и через WMI/PowerShell Ну и SCVMM вам в помощь, если вы сидите на устаревшних ОС (2000/XP/2003)

  • Anonymous
    January 01, 2003
    Гм, заинтересовала меня эта проблема (редактирования DCOM permissions в Server Core). Добавление пользователя в  “Distributed COM Users” помогает получить большинство прав для доступа и запуска удаленно. Но делегировать права на отдельные приложения это не поможет. Однако, выход есть! В Platform SDK есть утилита DCOMPerm.exe, которая из командной строки настраивает права на DCOM. Работает на Server Core. dcomperm -ml set Alex-HomeAlex permit level:rl,ra dcomperm -ma set Alex-HomeAlex permit

  • Anonymous
    January 01, 2003
    Насколько я понимаю, прямого способа нет (кроме как взять, скопировать базу COM на полную версию сервера и, отредактировав ее там, вернуть назад). Предложенный там сценарий, увы, кроме головной боли автору ничего не принесет. Основная проблема даже не в отправке запросов от Vista до Core, а в том, что доменная Vista не принимает ответы WMI (WMI callbacks) с недоменного сервера. Давайте, однако, попробуем это разрешить. В Server Core существует группа “Distributed COM Users”. Добавьте вашего (недоменного) пользователя на Core в эту группу. Далее с Vista используйте cmdkey для аутентификации в контексте этого пользователя. Если говорить о рекомендуемом сценарии, то это все таки не тот случай. Ставьте Core, вводите его в домен, выделяйти один интерфейс эксключивно для parent partition. Этот интерфейс ограничьте (VLAN, Firewall, IPSec) от доступа куда бы то ни было кроме контроллера и вашей админской машины. Виртуалки пускай используют другой физический интерфейс (через Virtual switch), на который таких ограничений не накладывается.

  • Anonymous
    January 01, 2003
    В нашем полку русскоязычных блогеров прибыло, к нас присоединился Алексей Кибкало , который является

  • Anonymous
    January 01, 2003
    Отвечаю по порядку: Если вы разворачиваете сеть с нуля, а не ставите очередной сервер виртуализации в вашей инфраструктуре, то на вас ориентирован (по нашей идеологии и по цене) другой продукт. Microsoft Hyper-V Server. Его я уже описал в статье, она ждет своей публикации - сегодня-завтра. В случае использования в развитой инфраструктуре - сервер должен быть в домене (не важно, Core или Full). Если вы где-то в гайдах по WS2008 вычитали обратное, давайте ссылку, - исправим. =) По поводу консоли, - к RTM версии будет управление Hyper-V через PowerShell, но лишь на полных системах. Управлять Core - удаленно через сеть (ДОМЕННУЮ). Версии .NET CoreFramework не планируется до выхода Windows codename "SEVEN" через год. Там будет и PowerShell 2.0 и Hyper-V 2.0. Если вам без PowerShell грустно, - ставьте Full инсталляцию. Хотите управлять удаленно - заводите в домен. Других официальных рекомендаций не будет.

  • Anonymous
    April 04, 2008
    Здравствуйте, Алексей! Вот тут http://forums.microsoft.com/TechNet-RU/ShowPost.aspx?PostID=3104641&SiteID=40 у человека вопрос о том, как сделать тоже самое только для Core: dcomcnfg.exe невозможно запустить без GUI, а удаленно не хватает прав,т.к. Core стоит как Standalone система и не входит в домен.

  • Anonymous
    April 06, 2008
    Спасибо, Алексей, что нашли dcomperm - мои поиски были слишком поверхностными :-) Сделаю в своем блоге заметку о вашей находке.

  • Anonymous
    April 07, 2008
    ну хоть что то есть!опять таки надо качать платформу. далее по поводу ввода коре в домен. это с чего такая принципиальность в этом подходе? в какой домен я его должен вводить, если я разворачиваю сеть и ДиСи будет на виртуальной системе. это в корне не верно, имхо. PS: мне кажется, разработчикам надо сильно подумать о консольных утилитах для всего. Либо в Коре, должен быть PowerShell. Адназначно-) а так... на запрос командой HELP я получаю...вернее я ничего не получаю.(

  • Anonymous
    October 18, 2008
    hyper-v вышел но я так и не нашел как им удаленно управлять уж он то точно должен работать сам по себе

  • Anonymous
    April 07, 2010
    Windows2008R2 EN Hyper-V (в корневом домене леса) Windows 7 RUS RSAT Hyper-V Manager (в корневом домене дерева того же леса, двусторонние доверительные отношения) Зашел из дома по VPN->RDC Делаю по инструкции, достаточно внимательно, файервол временно отключаю (под 7-кой ругается на правило для клиентского компа, чтоб пока не разбираться). На клиентском компе пишет "Не удается подключиться к службе RPC" (http://cut.ms/PZX) Где могут быть грабли?