Постоянные значения в непостоянных средах VDI Windows

Я хочу определить значения в ОС Windows Desktop, которые сохраняются в непостоянных средах VDI, к которым можно получить программный доступ (IE PowerShell). Единственное значение, которое я Знаю (что не соответствует моим требованиям) - имя хоста DNS.

Сценарий ...

Я создал приложение SaaS, лицензируемое на каждую машину в месяц.

Мой агент рабочего стола генерирует уникальный идентификатор используя постоянные системные значения, отправляет идентификатор в мой API, который проверяет, является ли идентификатор уникальным на нашей стороне и что в учетной записи клиента достаточно неизрасходованных кредитов. Если оба этих условия верны, создается 28-дневный лицензионный ключ и отправляется обратно в агент в ответе API.

Эта настройка отлично работает для традиционных постоянных рабочих столов, однако я хотел бы обслуживать непостоянные среды VDI. В настоящее время. если в организации было 100 непостоянных рабочих столов и рабочие столы были повторно -строенная после пользовательского сеанса каждый день, эта модель будет в результате будет выдано 2800 лицензий и начисляется плата за каждые 28 дней, а не 100 ... хорошо для моей прибыли, но не для долговечности клиентов!

Вопрос ...

Какие значения ОС, если таковые имеются, сохраняются между сеансами на непостоянном VDI Windows 10? Это просто имя хоста или есть конфигурации VDI, которые также могут привести к изменению имени хоста? (Сам я ничего не знаю).

Спасибо!

2
задан 9 May 2019 в 18:03
2 ответа

Теперь извините, если я не на 100% понимаю, где и как ваш API подключается, но:

Вы можете получить довольно хорошее представление об уникальных идентификаторах, если вы придете со стороны контроллера доставки. С необходимым SDK PowerShell может предоставить вам довольно много информации через get-brokermachine (я бы добавил некоторые необходимые фильтры, например, -DesktopGroupName "Имя вашей группы доставки", просто проверьте документацию здесь.

Если вы говорят о самом рабочем столе, теоретически вы можете получить MAC-адрес, потому что (я бы сказал, независимо от вашего типа хоста) он всегда уникален, и у вас есть возможность получить значение через powershell, если у вас добавлен необходимый SDK

Кроме того, я боюсь (и я только что проверил свой непостоянный VirtualDesktop VDI), что не существует других действительно уникальных идентификаторов, кроме вашего DNS.

Так что, если вы действительно хотите избежать DNS, а также MAC, теоретически вы можете получить уникальный SID (или любое другое уникальное значение, Citrix DC дает вам несколько), отправить его на соответствующее устройство и перейти оттуда. ..

(хотя я люблю PoSH, я не совсем уверен, как o выполнить конкретное задание)

0
ответ дан 28 May 2020 в 19:34

Прошло некоторое время, но кто-то, ответивший год спустя, вернул меня обратно :)

Я использую хешированную комбинацию следующего:

  • MachineGuid значение в SOFTWARE\Microsoft\Cryptography ключ
  • UUID из (Get-CimInstance Win32_ComputerSystemProduct).UUID
  • Дополнительная энтропия, собранная из проприетарного частного API

Каждый раз, когда новый идентификатор устройства видно, мой API запускает набор значений об аппаратном и программном обеспечении (около 20) через функцию доверия. Если 15 из этих значений совпадают, применяется существующая лицензия, в противном случае назначается новая лицензия.

0
ответ дан 29 May 2020 в 11:53

Теги

Похожие вопросы