Объяснение перенаправления содержимого с клиента на сервер

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


Введение


В Citrix Metaframe XP Feature Release 2 компания Citrix представила перенаправление контента. Перенаправление контента можно разделить на две части.



  • Перенаправление контента с сервера на клиент; это позволяет запускать URL-адреса локально на клиентском ПК. Встроенные URL-адреса перехватываются на сервере, на котором работает Presentation Server, и отправляются клиенту. Для отображения веб-сайта используется локально установленный браузер пользователя.
  • Перенаправление контента с клиента на сервер; когда пользователь дважды щелкает файл, на сервере Citrix запускается соответствующее приложение.

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


Требования


Как уже упоминалось, начиная с Metaframe XP Feature Release 2 (FR2), перенаправление контента доступно в наборе серверов презентаций и за это время не сильно изменилось. Таким образом, все, что описано в этом документе, относится ко всем версиям от Metaframe XP FR2 до Citrix Presentation Server 4.


Чтобы использовать перенаправление с клиента на сервер, вы ограничены некоторыми компонентами и требованиями, которые я опишу в этом разделе.


Программное соседство Citrix


Прежде чем вы сможете использовать перенаправление с клиента на сервер, вам необходимо принять проектное решение.


Перенаправление с клиента на сервер доступно только при использовании агента Citrix Program Neighborhood Agent (PNAgent). Использование PNAgent может изменить способ, которым пользователи привыкли запускать свои приложения, если вы уже используете Citrix. Кроме того, использование PNAgent имеет одно большое требование:


Веб интерфейс


Это требование — веб-интерфейс Citrix. Citrix PNAgent подключается к веб-интерфейсу, чтобы узнать, какие приложения доступны для пользователя и какие ассоциации файлов доступны. Веб-интерфейс работает на сервере Microsoft Internet Information Server, поэтому вам потребуется как минимум один сервер. Для обеспечения отказоустойчивости, балансировки нагрузки и предотвращения единой точки отказа (SPOF) вам следует подумать об использовании двух серверов веб-интерфейса.


Расширенная или корпоративная версия


Перенаправление с клиента на сервер доступно не во всех версиях. Только в версиях Advanced и Enterprise доступна функция перенаправления с клиента на сервер.


Сопоставление клиентских дисков


Сопоставление клиентского диска — последнее требование для перенаправления клиента на сервер. Без сопоставления клиентских дисков эта функция не работает, поэтому необходимо включить сопоставление клиентских драйверов.


Конфигурация


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




Рисунок 1. Укажите ассоциацию файлов с опубликованным приложением


Но иногда расширение файла недоступно для выбора в Citrix Management Console. Что вы можете сделать тогда?




Рисунок 2. Для опубликованного приложения нет доступных расширений файлов.


Помощь консоли управления Citrix


Конечно, вы хотели бы связать это расширение с вашими опубликованными приложениями.


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




Рисунок 3: Обновление типа файла в Citrix Management Console


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


Есть несколько способов сделать это. Самый простой — добавить ассоциацию файлов вручную на сервер(ы). Это можно сделать в разделе «Параметры папки» с помощью пункта меню «Инструмент из проводника». Добавьте новый тип файла, я бы посоветовал добавить приложение через кнопку «Дополнительно». Таким образом, у вас есть более гибкие параметры конфигурации. На рис. 4 вы можете видеть расширение файла.euh, которое открывается с помощью приложения «Блокнот».




Рисунок 4: Добавление вручную расширения файла на сервере


Другие способы достижения того же результата можно выполнить с помощью команды assoc или как описано в статье базы знаний Microsoft. После обновления типов файлов из реестра в консоли управления Citrix вы можете добавить расширение файла к опубликованному приложению.


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


Создание перенаправления клиента на сервер самостоятельно


Поскольку вы не можете установить ассоциацию файлов таким образом через консоль управления Citrix, мы должны найти другое решение. Наиболее очевидный способ добиться этого — попытаться установить эти параметры на клиентском ПК. Обычно рабочие станции с настроенным PNAgent являются управляемыми системами, поэтому есть некоторые возможности.


На самом деле вы можете добавить эти ассоциации файлов так же, как Citrix делает это для приложений. Citrix сохраняет ассоциации файлов в ключе HKEY_CURRENT_USER в разделе SoftwareClasses прямым методом. Добавление с помощью ключа [HKCU] является хорошим методом, поскольку у вас есть возможность добавлять ассоциации файлов в группу или базу пользователей, не конфликтуя с этими настройками (разным пользователям нужна одна и та же ассоциация файлов для разных приложений).


Сначала вам нужно создать конфигурацию для перенаправления файла в опубликованное приложение. Поэтому необходимо создать новый ключ в папке [HKCU]SoftwareClasses. Я буду следовать тому же соглашению, что и Citrix, поэтому я буду использовать следующее соглашение <FILEEXT>FILE.CTX, например MPPFILE.ctx.


В этом ключе необходимо создать следующие ключи, как показано на рис. 5.




Рисунок 5: Обзор сопоставления файлов реестра


В ключе DefaultIcon значение по умолчанию будет заполнено данными, где найти значок. Citrix обычно использует кеш PNAgent, поэтому я бы посоветовал также использовать этот кеш.


Этот кэш обычно хранится в C:Document and Settings\%username%Application DataCitrixPnAgentAppcache<ИМЯ ПРИЛОЖЕНИЯ>.ico.


Имя приложения — это значение, указанное в качестве имени приложения в свойствах опубликованных приложений. На рисунке 6 это свойство обведено красным.




Рис. 6. Это свойство необходимо заполнить несколькими значениями.


В команде [HKCUSoftwareClasses<FILEXT>FILE.CTXshellopen также необходимо настроить значение по умолчанию. Эти данные указывают на приложение, которое необходимо запустить. Здесь мы используем исполняемый файл PNAgent с параметрами /launch, за которыми следует имя приложения и /param:\Client\%1. На рис. 7 показан пример Microsoft Project, опубликованного с помощью RES Powerfuse.




Рисунок 7: Примеры двух ключей. Над DefaultIconCache, под данными команды


Чтобы активировать созданную файловую ассоциацию, вам необходимо указать, какие расширения файлов должны использовать эту файловую ассоциацию. Поэтому также в [HKCU]SoftwareClasses необходимо создать новый ключ для расширений файлов. В этом примере это будет.MPP. В значении по умолчанию мы заполняем имя ключа <FILEEXT>FILE.ctx, поэтому MPPFILE.ctx. Если вы хотите связать другое расширение файла, просто добавьте его также в этот ключ с данными в значении, указывающими на <FILEEXT>FILE.ctx, например, для.MPT.


Наша примерная конфигурация будет такой, как показано на рис. 8.








Редактор реестра Windows версии 5.00


[HKEY_CURRENT_USERSoftwareClassesMPPFILE.ctx]


[HKEY_CURRENT_USERSoftwareClassesMPPFILE.ctxDefaultIcon]


@=”C:\Documents and Settings\%username%\Application Data\Citrix\PNAgent\AppCache\Microsoft Proje – My_Applications {47}.ico,0″


[HKEY_CURRENT_USERSoftwareClassesMPPFILE.ctxshell]


[HKEY_CURRENT_USERSoftwareClassesMPPFILE.ctxshellopen]


[HKEY_CURRENT_USERSoftwareClassesMPPFILE.ctxshellopencommand]


@=””C:\Program Files\Citrix\ICA Client\pnagent.exe” /launch <Microsoft Proje – My_Applications {47}> /param:”\\Client\%1 ””


[HKEY_CURRENT_USERПрограммное обеспечениеКлассы.mpp]


@=”MPPFILE.ctx”


[HKEY_CURRENT_USERПрограммное обеспечениеКлассы.mpt]


@=”MPPFILE.ctx”

Рисунок 8: Полная конфигурация для Microsoft Project (через RES Powerfuse), включая два расширения файлов.


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


Последним шагом является передача конфигурации клиенту с установленным на нем агентом PNAgent. Это можно сделать с помощью файла реестра (экспортированного) или собственного сценария (VB) и импортировать их с помощью программного продукта для распространения, сценария входа в систему или объектов групповой политики.


Вывод


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