Вопрос или проблема
Мы тестируем приложение для смарт-карт Windows на гостевой системе VMware на VMware Workstation.
Но каждый раз, когда я запускаю виртуальную машину, мне приходится вручную отключать смарт-карты от хоста и подключать их к работающей гостевой системе (получая зеленую точку на карте, как показано ниже):
Смарт-карты являются USB-устройствами, и в настройках можно указать подключение к активной виртуальной машине, но это не работает.
Это автономная платформа для тестирования, особенно тестирование обновлений Windows. Существует ли способ автоматизировать это?
Благодаря @Ramhound, ссылка Broadcom Solution решила проблему.
- Зайдите в реестр, найдите USB-устройства по адресу:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB - найдите под VID*\ подходящее DeviceDesc
- например: “Alcor Micro USB Smart Card Reader”
- найдите HardWareID
- например: “USB\VID_058F&PID_9540&REV_0120”
- vendorid=058F и productid=9540
- затем в файле *.vmx добавьте:
usb.autoconnect.device0 = “0x058F:0x9540”
Выключите виртуальную машину и снова запустите ее, нажав на файл *.vmx, и
Да, устройство там, подключено к гостевой системе (крайняя правая зеленая точка)
Теперь остается только сделать то же самое для остальных смарт-карт.
.
Ответ или решение
Настройка автоматического подключения смарт-карт в VMware Workstation может быть непростой задачей, особенно в проектах, где требуется автономное тестирование приложений, таких как тестирование Windows-патчей. Рассмотрим пошаговое решение этой задачи, которое позволит автоматизировать подключение USB-устройств, таких как смарт-карты.
Теория
При работе с виртуальными машинами (ВМ) в VMware Workstation, устройства, подключенные через USB к хост-машине, по умолчанию не пересылаются в виртуальную машину. Это связано с тем, что VMware поначалу ожидает, что пользователь вручную укажет, какое устройство должно быть доступно для ВМ. Однако, для некоторых USB-устройств (в том числе, для смарт-карт), может понадобиться автоматизация этого процесса, особенно если необходимо сокращение времени или человеческого участия в тестировании.
Пример
Рассмотренная проблема связана с тем, что после перезапуска ВМ необходимо вручную отключать смарт-карту от хоста и подключать её к гостевой ОС, чтобы она заработала (символ в виде зелёной точки). Был найден полезный ресурс – статья от Broadcom, объясняющая процесс автоматического подключения USB-устройств к ВМ.
Основные шаги из предложения решения:
-
Поиск информации в реестре Windows: В реестре Windows хранятся данные о подключённых устройствах. Ветвь
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
содержит информацию о всех USB-устройствах. -
Идентификация устройства: Определение нужного устройства осуществляется путем поиска ключа, где в строке
DeviceDesc
содержится название, например, "Alcor Micro USB Smart Card Reader". -
Получение идентификаторов устройства: После идентификации устройства, в строке
HardWareID
можно увидеть что-то вроде "USB\VID_058F&PID_9540&REV_0120". ЗдесьVID
– идентификатор производителя, аPID
– идентификатор продукта. -
Редактирование конфигурации ВМ: Идентификаторы используют для редактирования конфигурационного файла
.vmx
виртуальной машины, добавив строку:usb.autoconnect.device0 = "0x058F:0x9540"
. -
Перезапуск ВМ: После внесения изменений в
.vmx
файл, ВМ необходимо выключить и снова запустить. Это обеспечит автоматическое подключение устройства напрямую к гостевой ОС.
Применение
Данная методика позволяет автоматизировать процесс подключения USB-смарт-карт к ВМ в VMware Workstation. Это возможно благодаря манипуляциям с реестром Windows и конфигурационными файлами виртуальных машин. После первого настроек, при каждом запуске ВМ, нужные устройства будут автоматически подключаться, что значительно экономит время и усилия.
Кроме того, этот подход может быть адаптирован для других USB-устройств, где автоматизация подключения имеет значение. Например, принтеры, сканеры и другие периферийные устройства.
Этот процесс также улучшает пользовательский опыт в рамках автономной платформы тестирования, так как избавляет от необходимости постоянного мониторинга и вмешательства пользователя, создавая более надежную среду для тестирования обновлений и приложений ОС Windows.
Заключение
Использование описанного метода автоматического подключения смарт-карт в VMware Workstation может значительно повысить эффективность работы с виртуальными машинами, особенно в сферах, требующих непрерывного тестирования и минимизации человеческого вмешательства. Такой подход предоставляет возможность более гибкой и автоматизированной работы с устройствами в тех случаях, где это необходимо, тем самым оптимизируя рабочие процессы и повышая их производительность.