Совместное использование устройств на виртуальной машине
Доступно только для виртуальных машин Windows.
Режим расширенного сеанса позволяет подключать Hyper-V к виртуальным машин с помощью протокола удаленного рабочего стола (RDP). Это не только это повышает удобство работы с виртуальной машины, подключая ее с помощью протокола RDP, но и позволяет виртуальной машине использовать устройства совместно с компьютером. Так как RDP включен по умолчанию в Windows 10, вы, вероятно, уже используете этот протокол для подключения виртуальных машин Windows. В данной статье описываются некоторые из преимуществ и скрытые параметры диалогового окна настройки подключения.
RDP и режим расширенного сеанса предоставляют следующие возможности.
- Изменение размера виртуальных машин и поддержка высокого разрешения
- Улучшенная интеграция виртуальных машин
- Общий буфер обмена
- Общий доступ к файлам с помощью перетаскивания, копирования и вставки
- Микрофоны и динамики
- USB-устройства;
- Диски с данными (включая C:)
- принтеры;
В этой статье показано, как узнать тип сеанса, перейти в режим расширенного сеанса и настроить параметры сеанса.
Проверка типа сеанса
Вы можете узнать текущий тип подключения , используя значок режима расширенного сеанса в верхней части средства подключения к виртуальной машине (VMConnect). Эта кнопка также позволяет переключаться между базовым сеансом и режимом расширенного сеанса.
icon Состояние подключения 
В настоящее время используется режим расширенного сеанса. Щелкните этот значок, чтобы повторно подключиться к виртуальной машине в базовом режиме. 
В настоящее время используется базовый режим сеанса, при этом доступен режим расширенного сеанса. Щелкните этот значок, чтобы повторно подключиться к виртуальной машине в режиме расширенного сеанса. 
В настоящее время используется базовый режим. Режим расширенного сеанса недоступен для этой виртуальной машины. Настройка виртуальной машины для Удаленного рабочего стола
Для работы в режиме расширенного сеанса нужно включить удаленный рабочий стол на виртуальной машине. Выполните поиск по фразе «параметры удаленного рабочего стола» в приложении «Параметры» или меню «Пуск». Установите переключатель «Включить удаленный рабочий стол» в положение «Вкл».

Для более поздних версий, чем Windows 10, версия 2004, потребуется дополнительный параметр. К таким версиям относится и Windows 11. Если в окне подключения виртуальной машины отображается фон без запроса на вход, необходимо внести еще одно изменение.
Сначала снова войдите на виртуальную машину в простом режиме. Выполните поиск по фразе «параметры входа» в приложении «Параметры» или меню «Пуск». На этой странице отключите параметр Require Windows Hello sign-in for Microsoft accounts (Требовать входа Windows Hello для учетных записей Майкрософт).
Windows 11 Windows 10 

Теперь выйдите с виртуальной машины или перезагрузите ее, прежде чем закрывать окно подключения виртуальной машины.
Общий доступ к дискам и устройствам
Возможности общего доступа в расширенном режиме сеанса скрыты в этом неприметном окне подключения, которое открывается при подключении к виртуальной машине:

По умолчанию виртуальные машины с включенным режимом расширенного сеанса будут совместно использовать буфер обмена и принтеры. Они по умолчанию передают звук виртуальной машины на динамики компьютера.
Чтобы включить совместное использование устройств на виртуальной машине или изменить параметры по умолчанию, выполните следующие действия.
- Откройте дополнительные параметры

- Просмотрите локальные ресурсы

Общий доступ к хранилищу и USB-устройствам
По умолчанию виртуальные машины в режиме расширенного сеанса совместно используют принтеры, буфер обмена, смарт-карты и другие устройства безопасности, чтобы вы могли применять более безопасные средства входа в систему на виртуальной машине.
Для совместного использования других устройств, таких как USB-устройства или диска C:, выберите меню «Дополнительно. «:

Здесь можно выбрать устройства, которые будут совместно использоваться с виртуальной машиной. Особенно полезным будет общий системный диск (Windows C:).

Совместное использование звуковых устройств (динамиков и микрофона)
По умолчанию виртуальные машины в режиме расширенного сеанса передают звук на динамики компьютера. Виртуальная машина также использует звуковое устройство, выбранное на хост-компьютере.
Чтобы изменить эти параметры или включить сквозную передачу микрофона (для записи звука на виртуальной машине), выполните следующие действия.
Откройте меню «Параметры. » для настройки параметров удаленного звука

Теперь настройте параметры звука и микрофона

Поскольку виртуальная машина, скорее всего, выполняется локально, параметры «Воспроизвести на этом компьютере» и «Воспроизвести на удаленном компьютере» дают одни и те же результаты.
Повторный запуск параметров подключения
Если диалоговое окно разрешений и общего доступа к устройствам не открывается, попробуйте запустить VMConnect независимо в меню Windows или из командной строки от имени администратора.
Подключение к машинам Hyper-V первого поколения по протоколу RDP
У гипервизора от Microsoft Hyper-V есть специфика деления виртуальных машин на первое и второе поколение. Одной из особенностей машин первого поколения является то, что мы можем использовать только ограниченный базовый сеанс подключения, тогда как для машин второго поколения существует расширенный сеанс с использованием технологии подключения по протоколу RDP – родного функционала Windows для удалённого доступа.
И этот расширенный сеанс позволяет использовать большие возможности. Но машину Hyper-V первого поколения при желании также можно подключить по RDP. Как это сделать?
Базовый сеанс подключения Hyper-V не позволяет нам использовать звуковые устройства внутри машины, не предусматривает копирование данных, из сообщения реальной и виртуальной программной среды есть только одностороннее копирование текста – из хост-системы в гостевую. В рамках же расширенного сеанса нам доступны двунаправленное копирование данных и текста, подключение принтеров, подключение внешних носителей информации и разделов жёсткого диска, прочей периферии физического компьютера. И вот чтобы все эти возможности были доступны для машин первого поколения, к ним нужно подключаться с использованием системного функционала подключения по RDP . А для этого необходимо, чтобы хост- и гостевая системы находились в одной локальной сети. И есть ещё одно условие: на машинах первого поколения в качестве гостевых ОС должны быть установлены редакции Windows начиная с Pro . В редакциях Home и прочих базовых нет возможности подключения по RDP .
Итак, как подключить машину первого поколения по RDP? Для этого, повторимся, необходима локальная сеть между машиной и реальным компьютером. А для этого, в свою очередь, нужно, чтобы машина была подключена к сети через виртуальный коммутатор внешнего типа. Такой будет обеспечивать и выход машины в Интернет, и локальную сеть между машиной и реальным компьютером. Если для машины в параметрах выбран коммутатор по умолчанию Default Switch, то он не подходит, и необходимо создать новый коммутатор.
Для этого открываем диспетчер коммутаторов.

Создаём новый коммутатор, его тип выбираем «Внешняя».

Даём имя коммутатору. Если на физическом компьютере несколько сетевых адаптеров, можем выбрать нужный, который будет использоваться для виртуальных машин. В целом настройки коммутатора должны быть такими, как на снимке ниже.

Далее в параметрах машины указываем созданный только что коммутатор.

Запускаем машину и первым делом настраиваем сеть. Гостевая Windows сама должна обнаружить новую сеть и предложить её настроить. Можем выбрать тип домашней сети.

Далее в гостевой ОС можем настроить возможность доступа по RDP без ввода пароля. В большинстве случаев на виртуальных машинах не нужен запароленный доступ к учётной записи Windows. Таким образом мы избежим ненужной волокиты с вводом пароля и будем подключаться к машине в пару кликов. Запускаем редактор gpedit.msc . Раскрываем в его окне слева путь, показанный на снимке ниже, и открываем политику использования пустых паролей.

Ставим её значение «Отключён».

Далее жмём клавиши Win + Pause , запускаем настройку удалённого доступа.

Активируем разрешение подключаться по удалёнке с проверкой подлинности.

Узнаём внутренний IP -адрес машины, можно с помощью командной строки и всем известном команды:
ipconfig

Затем переходим в хост-систему, запускаем окно подключения по RDP (просто вписываем во внутрисистемный поиск «RDP») . Вводим IP машины, подключаемся.

Поле пароля оставляем пустым.

Жмём «Да» в окошке проверки подлинности.

И всё – мы подключены к машине по RDP .

Если нужно подключить к машине устройства информации или периферию физического компьютера, при подключении отображаем параметры и настраиваем всё, что, собственно, хотим подключить.
Как я перестал беспокоиться и полюбил Hyper-V Server
Недавно у меня появилась задача “вжиться в шкуру пользователя” и на деле проверить, как работается на бесплатном Microsoft Hyper-V Server 2012.
Да-да, бесплатный сыр есть не только в мышеловке, но и у Майкрософта. Если вы хотите виртуализовать сервера или хотя бы ваш старый ноутбук, но при этом не хотите платить дополнительные деньги за гипервизор, то Hyper-V Server — это то, что нужно попробовать. Почему? Во-первых, он по-настоящему бесплатен – все функции, включая даже «энтерпрайзные», доступны пользователям сразу и без каких-либо оговорок, во-вторых, он поддерживается и развивается большой компанией, и, в-третьих, это просто старый добрый Windows, хоть и немного обрезанный до Server Core.
Под катом вас ждет рассказ о том, как установить и настроить Hyper-V Server и элегантно обойти ограничения этой платформы при помощи Линукса.
Установка
Все стандартно настолько, что даже писать не о чем. ISO образ берем отсюда по горделивой ссылке «Free Download».
Весь процесс установки занимает несколько минут и оканчивается стандартным приглашением для администратора. После задания пароля открывается непривычно голый десктоп с двумя окнами консоли.

В принципе, если вдуматься, это не так уж и страшно: ведь задача нашего сервера — запускать виртуальные машины, а пасьянс можно и где-нибудь в другом месте разложить.
Конфигурирование: система
С помощью синей консоли задаем необходимые параметры — имя, сетевые адреса, включаем RDP и автообновления.
Кстати об обновлении системы: обрезание до Server Core было сделано для сокращения attack surface, другими словами уменьшения количества сервисов и программных компонент, которые могут содержать уязвимости, а соответственно должны регулярно патчиться. А поскольку установка патчей часто требует перезагрузки сервера, то уменьшение количества обновляемых компонент сервера будет вести не только к увеличению его безопасности, но и доступности.
Конфигурирование: Hyper-V
По каким-то причинам во время установки не создается никаких виртуальных свитчей, так что виртуальные машины по умолчанию не имеют связи с внешним миром. Исправим это — создадим простейший свитч-бридж к физическому адаптеру.
Запустим powershell во второй консоли. Да, обрезание сервера до консольных программ заставляет идти на жертвы, но ведь мы преследуем благородные цели (см. выше).
1) Узнаем под какими именами фигурируют адаптеры. Для этого выполним команду Get-NetAdapter
2) Создадим виртуальный свитч привязанным к адаптеру Ethernet 5
Для создания виртуальной машины — все готово.
Создание виртуальной машины
Скорее всего нам понадобится ISO образ для установки операционной системы, его мы копируем привычным для Windows способом — по сети через долларовые шары на нашем сервере.
Теперь создадим машину.
Небольшая тонкость есть в выборе типа сетевого адаптера — если выбор операционной пал на Windows 2012, то можно выбирать стандартный адаптер, но если что-либо другое лучше выбрать «legacy» тип адаптера. Это можно сделать, передобавив адаптер к виртуальной машине с ключиком -IsLegacy 1
Вставим в созданный по умолчанию DVD дисковод ISO образ
На будущее — когда потребуется вытащить диск из виртуального дисковода нужно выполнить Set-VMDvdDrive -VMName <имя машины> -Path $null
Ну вроде, все… Можно запускать!
Мммм, пробежал прогресс вверху окна powershell, видимо все запустилось. Проверим командой Get-VM
Все хорошо — машинка работает.
Однако, как же взглянуть на экран?!
Секундочку… а как-же посмотреть на экран установки, куда мышкой тыкать? В общем — где консоль? локально — никак: ее нет на сервере!
Что предлагает Microsoft — вы можете поставить RSAT (remote system administration tools) на клиентскую станцию. При помощи этих инструментов можно подключаться к консоли виртуальных машин, и, кстати, оттуда-же создавать и запускать виртуальные машины через mmc snap-in Hyper-V. Однако есть интересные особенности:
- RSAT для Windows 8 работает только с Windows 2012
- RSAT для Windows 7 Sp1 работает только с Windows 2008 R2 SP1
По-моему, не дело из-за смены версии сервера менять клиентскую ось! Куда смотрят продуктовые менеджеры в Майкрософт?! Как же мне зайти на консоль?
Идея пришла откуда не ждали… Почему-бы не использовать виртуальную машину с Linux в качестве RDP-прокси?
Подарок для всех
В итоге я на основе CentOS сделал виртуальую машину, на которую можно зайти по RDP, авторизоваться и далее в простеньком интерактивном скрипте запускать консоли на любые виртуальные машины на данном или вообще любом Hyper-V сервере в сети.
Вы можете скачать образ данной машины (371MB) и развернуть его с помощью бесплатной версии Veeam Backup & Replication на Hyper-V сервер. Пользователь root имеет пароль 123qweASD. Для смены пароля нужно запустить сначала passwd, а потом не забыть vncpasswd.
После запуска машины вы можете узнать IP адрес этой машины, выполнив данную команду на сервере Get-VM <имя машины> | select -ExpandProperty NetworkAdapters | select Ipaddresses. Вам необходимо иметь DHCP сервер в сети.
Используя RDP клиента, заходим на данную машину, добавляем Hyper-V сервер, выбираем виртуальную машину и… voilà — теперь можно продолжить установку операционной системы

Как это работает
Основную работы сделали классные ребята из FreeRDP. Нет — ну они, правда, классные, так как поддержали протокол RDP даже лучше, чем в Майкрософт. Там есть поддержка RemoteFX, add-in-ов, кэшей, перенаправлять аудио и clipboard… в общем всего того, что им позволяет подключаться не только к разным версиям Windows, но и к виртуальным машинам напрямую через специально открытый для этого на Hyper-V server порт 2179.
Все последние протоколы необходимые для работы с Hyper-V есть только в бете 1.1.0 версии. Я немного доработал версию только для того чтобы переопределить посылание Ctrl+Alt+Del на сочетание Ctrl+Alt+Insert, а то Linux прокси первым его обрабатывал и зайти в Windows виртуалку не было никакой возможности. Как честный человек — выложил исходники здесь: https://github.com/VeeamSoftware/FreeRDP
В качестве RDP сервера используется xrdp.
Скрипт опроса хостов и запуска консолей написан на Bash. Писал на нем впервые — прошу снисхождения к корявостям.
Опрос хостов на наличие запущенных виртуальных машин и их идентификаторов сделан через WMI. Спасибо утилите wmic, написанной на основе библиотеки от Samba 4.
CentOS 6.4 имеет внутри себя часть Integration Services, которые сообщают по каналу хост-виртуальная машина о себе некоторую информацию, из которой нам необходимы только IP адреса.
Кое-что про будущее
Не очень хорошая новость, в пятницу только вышла новая версия Hyper-V Server 2012 R2, я попробовал запуститься на ее Preview, но интеграционные сервисы CentOS не смогли прокинуть IP адрес на хост. Видимо Майкрософт опять что-то поменяли/расширили без обратной совместимости. Подождем немного выхода Intergation Services for Linux и поддержим и эту версию.
Заключение
Hyper-V Server – хорошая система чтобы начинать развитие ИТ небольшой компании. Полная бесплатность – хорошее подспорье когда бюджет ограничен. И в дальнейшем этот гипервизор позволит легко и без лишних расходов добавлять «энтерпрайзные» возможности: развивать мощность добавляя новые сервера, внедрять более хитрые сетевые схемы, предоставлять отказоустойчивость через кластеризацию и т.п.
Надеюсь, что этот рассказ и апплаинс помогут вам использовать эту платформу эффективно с первых шагов.