Процесс выделения клиентских лицензий сервера терминалов. Часть 2. Процесс выделения клиентских лицензий

Опубликовано: 24 Апреля, 2023

Процесс выделения клиентских лицензий для служб терминалов (часть 1)»

В этой статье, состоящей из двух частей, читатели пошагово рассмотрят процесс выделения клиентских лицензий служб терминалов в среде сервера терминалов Windows Server 2003. Первая часть посвящена справочной информации, в том числе различным типам клиентских лицензий и режимам лицензирования терминальных серверов.

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

Процесс выделения клиентских лицензий на пользователя

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


фигура 1

Пошаговое руководство по пользовательскому режиму

Следующие шаги просто повторяют приведенную выше блок-схему.

  1. Клиент подключается к терминальному серверу.
  2. Сервер терминалов проверяет, может ли он связаться с сервером лицензий.

    1. Если сервер лицензий не может быть обнаружен, в соединении будет отказано.
    2. Если лицензия найдена, соединение принимается.

    Процесс выделения режима для каждого устройства

    Когда сервер терминалов находится в режиме для каждого устройства, процесс распределения становится более сложным. Многие переменные направляют процесс в разных направлениях, например, если у клиента уже есть временная клиентская лицензия, активирован ли сервер лицензий или доступны полные клиентские лицензии. На следующей блок-схеме ( рис. 2 ) показан весь процесс для всех возможных сценариев.


    Рисунок 2 (щелкните, чтобы увеличить изображение)

    Пошаговые руководства по режиму для каждого устройства

    Используя приведенную выше блок-схему, мы рассмотрим следующие три сценария:

    • Подключается клиент, у которого нет клиентской лицензии служб терминалов.
    • Клиент, подключающийся к существующей клиентской лицензии Temp
    • Клиент, подключающийся к существующей полной клиентской лицензии

    Клиент без существующей клиентской лицензии

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

    1. Клиент подключается к терминальному серверу.
    2. Клиент представляет свой идентификатор оборудования из следующего раздела реестра:
      HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingHardwareID

      Примечание:

      Этот уникальный идентификатор оборудования автоматически создается компьютером при создании ключа MSLicensing.
    3. Сервер терминалов проверяет, можно ли связаться с сервером лицензий.

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

      2. Если сервер лицензий найден, сервер терминалов запрашивает временную клиентскую лицензию для клиента и пересылает идентификатор оборудования, имя клиента и имя пользователя клиента.
    4. Сервер лицензий отправляет временную клиентскую лицензию на сервер терминалов, который, в свою очередь, пересылает клиентскую лицензию клиенту.

    5. Клиент хранит временную клиентскую лицензию в своем реестре в разделе:
      HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingStore00x

    6. Клиент завершает соединение.

    7. После успешного входа в систему сервер терминалов указывает серверу лицензий пометить временную клиентскую лицензию как проверенную (или использованную). С этого момента сервер терминалов будет пытаться обновить временную клиентскую лицензию до полной (постоянной) клиентской лицензии при каждом последующем подключении.
      Примечание:
      Процесс проверки временной клиентской лицензии гарантирует, что только клиент, успешно вошедший на сервер терминалов, сможет получить постоянную клиентскую лицензию с сервера лицензий. Это предотвращает атаки в стиле DOS, которые преследовали серверы терминалов Windows 2000 до SP3.

    Клиент с существующей временной клиентской лицензией

    Если клиенту уже выдана временная клиентская лицензия, сервер терминалов будет пытаться автоматически обновить клиент до постоянной (полной) клиентской лицензии при каждом подключении клиента. Если сервер терминалов не может обновить клиентскую лицензию, клиент может продолжать подключаться к серверу терминалов до истечения срока действия временной клиентской лицензии.

    1. Клиент подключается к терминальному серверу.
    2. Клиент представляет свою временную клиентскую лицензию из следующего раздела реестра:
      HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingStore00x
    3. Сервер терминалов проверяет, можно ли связаться с сервером лицензий.

      1. Если сервер лицензий не найден, запускается процесс обнаружения сервера лицензий с целью найти сервер лицензий. Если сервер лицензий не может быть обнаружен, запрос на подключение разрешается при условии, что срок действия временной клиентской лицензии не истек. Если срок действия лицензии CAL истек, запрос на подключение отклоняется.
      2. Если сервер лицензий найден, он проверяет, активирован ли сервер лицензий и есть ли доступные полные клиентские лицензии. Если полные клиентские лицензии отсутствуют, а срок действия временной клиентской лицензии еще не истек, подключение по-прежнему разрешено. В противном случае в соединении будет отказано.
    4. Когда полные клиентские лицензии доступны, сервер лицензий выдает полную клиентскую лицензию клиенту и выполняет следующие действия:

      • Выберите случайную дату истечения срока действия в диапазоне от 52 до 89 дней.
      • Запишите идентификатор оборудования клиента, имя клиента, имя пользователя и дату истечения срока действия Full CAL в базе данных лицензирования.
      • Уменьшите пул клиентских лицензий на 1.
      • Сервер лицензий отправляет полную клиентскую лицензию на сервер терминалов, который, в свою очередь, пересылает клиентскую лицензию клиенту.
      • Клиент хранит клиентскую лицензию в своем реестре в разделе:
        HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingStore00x
      • Клиент завершает соединение.
      • Клиент с существующей полной (постоянной) клиентской лицензией

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

        1. Клиент подключается к терминальному серверу.
        2. Клиент представляет свою полную клиентскую лицензию из следующего раздела реестра:
          HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingStore00x
        3. Сервер терминалов проверяет срок действия полной клиентской лицензии, предоставленной клиентом.

          • Если срок действия лицензии CAL не истекает в течение следующих 7 дней (или еще не истек), подключение принимается.
          • Если срок действия клиентской лицензии истекает в течение 7 дней, сервер терминалов попытается обновить клиентскую лицензию.
          • Если срок действия клиентской лицензии уже истек, сервер терминалов попытается выдать новую клиентскую лицензию для клиента.

          Продление клиентской лицензии

          3.1. Сервер терминалов проверяет, может ли он связаться с выдавшим лицензию сервером.

          1. Если с сервером, выдавшим лицензию, можно связаться, он обновит существующую клиентскую лицензию. После продления сервер, выдавший лицензию, создаст новую дату истечения срока действия лицензии CAL, обновит базу данных лицензий и перенаправит новую лицензию CAL на сервер терминалов.
          2. Если с выдавшим лицензию сервером невозможно связаться, клиент может подключиться до истечения срока действия клиентской лицензии.

          Выдача новой клиентской лицензии

          3.2. Сервер терминалов проверяет наличие клиентских лицензий на активированных серверах лицензий.

          1. Если обнаружен активированный сервер лицензий, новая клиентская лицензия будет выдана от имени клиента. Сервер лицензий будет:

            • Выберите случайную дату истечения срока действия в диапазоне от 52 до 89 дней.
            • Запишите идентификатор оборудования клиента, имя клиента, имя пользователя и дату истечения срока действия Full CAL в базе данных лицензирования.
            • Уменьшите пул клиентских лицензий на 1.

          2. Если не удается найти активированный сервер лицензий, в соединении будет отказано. После того, как клиент получил временную или полную клиентскую лицензию, ему нельзя выдать другую временную клиентскую лицензию, поскольку клиентская лицензия уже существует в реестре клиента.

        4. Сервер лицензий отправляет обновленную или повторно выпущенную клиентскую лицензию на сервер терминалов, который, в свою очередь, пересылает клиентскую лицензию клиенту.
        5. Клиент хранит клиентскую лицензию в своем реестре в разделе:
          HKEY_LOCAL_MACHINESoftwareMicrosoftMSLicensingStore00x
        6. Клиент завершает соединение.

        Заключительные примечания

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

        Процесс выделения клиентских лицензий для служб терминалов (часть 1)»