TS RemoteApp
Opublikowany na:
Zdalne aplikacje z wykorzystaniem usług terminalowych w Windows Server 2008
Wstęp
Usługi terminalowe Windows Server 2008 przyniosły wiele zmian i nowości, jedną z nich są zdalne aplikacje (RemoteApp). Funkcjonalność tą można najprościej określić, jako mechanizm pozwalający na udostępnianie użytkownikom aplikacje z wykorzystaniem usług terminalowych. Co istotne, aplikacje w ten sposób udostępnione z punktu widzenia użytkownika wyglądają tak, jak zainstalowane lokalnie. Co istotne niezależnie od ilości uruchomionych aplikacje przez użytkownika działają w jednej sesji terminalowej, dzięki czemu serwer nie będzie nadmiernie obciążony. Oczywiście taka zdalna aplikacja może zapisywać dokumenty bezpośrednio w zasobach lokalnego komputera, możliwe jest także przypisanie takiej aplikacji, jako domyślnego programu dla wybranych rozszerzeń. Istotnym aspektem jest także możliwość współpracy zarówno z systemami posiadającymi klientów RDP w wersji 6.0 oraz starszymi (Windows XP z Service Pack 2, Windows Server 2003 z Service Pack 1), w zależności od określonego rodzaju uwierzytelniania, co zostanie omówione w dalszej części tego artykułu.
Instalacja Roli TS: RemoteApp
Aby skorzystać z funkcjonalności RemoteApp należy zainstalować rolę usług terminalowych, podobnie jak w przypadku innych roli można wykonać na wiele sposobów – osobiście polecam wykorzystanie Konsoli Server Manager (Przykład 1).

Przykład 1 – Instalacja roli Terminal Services
Rola Terminal Services posiada pięć różnych komponentów, aby skorzystać z mechanizmu RemoteApp wystarczy zainstalować podstawowy komponent – Terminal Server (Przykład 2). Jest on odpowiedzialny za realizację podstawowych zadań usług terminalowych.

Przykład 2 – Komponenty roli Terminal Services
Windows Server 2008 oraz Windows Vista obsługują nowy rodzaj uwierzytelnienia NLA (Network Layer Authentication) (Przykład 3). W pierwszej fazie instalacji usług terminalowych należy określić, jaki sposób uwierzytelniania ma zostać użyty. Należy jednak pamiętać, że wybranie uwierzytelniania z wykorzystaniem NLA jest bezpieczniejsze, wymaga jednak kompatybilności po stronie klienta. Aktualnie z NLA współpracuje jedynie Windows Vista oraz Windows Server, 2008 czyli systemy posiadające klienta RDP w wersji 6.0.

Przykład 3 – Wybór rodzaju uwierzytelniania użytkownika
Podobnie jak we wcześniejszych wersjach systemu Windows Server, w kreatorze instalacji należy określić rodzaj licencjonowania usług terminalowych (Przykład 4). Decyzja zależy od specyfiki danego środowiska i tego czy urządzenia przypisane są użytkownikom czy tez istnieją urządzenia, na których pracuje wielu użytkowników.

Przykład 4 – Określenie metody licencjonowania usług terminalowych
W celu zapewnienia odpowiedniego poziomu bezpieczeństwa oraz kontroli dostępu do usług terminalowych należy określić, jakie grupy użytkowników mogą z nich korzystać. W Przykładzie 5, dostęp do usług terminalowych na serwerze otrzymają wszyscy użytkownicy domeny (użytkownicy z grupy Administrators domyślnie posiadają dostęp do usług terminalowych).

Przykład 5 – Zezwolenie na korzystanie z usług terminalowych dla określonych grup użytkowników
W ostatnim oknie kreatora instalacji zawarte jest podsumowanie konfiguracji (Przykład 6). Konfiguracja określona w procesie instalacji może podlegać dalszym modyfikacjom. Należy zwrócić uwagę, że niektóre aplikacje wcześniej zainstalowane mogą wymagać ponownej instalacji by poprawnie działać, jako aplikacje zdalne. W praktyce okazuje się jednak, że większość aplikacji zainstalowanych przed instalacją roli działa poprawnie.

Przykład 6 – Podsumowanie konfiguracji roli Terminal Services
Instalacja roli Terminal Services kończy się ponownym uruchomieniem systemu. Jeśli nic nie zakłóciło procesu instalacji, po jego zakończeniu wyświetlone zostanie podsumowanie instalacji (Przykład 7).

Przykład 7 – Raport po instalacji
Konfiguracja RemoteApp
Konfiguracja mechanizmu RemoteApp jest wyjątkowo prosta i odbywa się z wykorzystaniem konsoli Server Manager. W drzewie konfiguracji należy wybrać Roles\Terminal Services\Ts RemoteApp Manager (Przykład 8).

Przykład 8 – Zarządzanie TS RemoteApp
Pierwszą czynnością, jaką należy wykonać jest dodanie aplikacji, które mają być udostępniane z wykorzystaniem Zdalnych Aplikacji. Dokonuje się tego z wykorzystaniem panelu Actions, z którego należy wybrać Add RemoteApp Programs (alternatywnie w polu RemoteApp Programs, klikając prawym przyciskiem myszy, po czym wybierając Add RemoteApp Programs) (Przykład 9).

Przykład 9 – Dodanie aplikacji mających działać poprzez usługi terminalowe
Proces dodawania aplikacji odbywa się z wykorzystaniem kreatora pozwalającego na wybór odpowiedniej aplikacji oraz podstawową konfigurację (Przykład 10).

Przykład 10 – Kreator RemoteApp
Oprócz aplikacji, które można wybrać za pośrednictwem listy zainstalowanych programów. Możliwe jest wykorzystanie innych aplikacji z użyciem przycisku Browse oraz wskazanie lokalizacji pliku wykonywalnego danej aplikacji (Przykład 11).

Przykład 11 – Wybór aplikacji do udostępnienia za pomocą RemoteApp
Dla każdej aplikacji można określić dodatkowe parametry takie jak jego nazwa, lokalizacja oraz możliwość użycia dodatkowych parametrów definiowanych z wykorzystaniem wiersza poleceń (Przykład 12). Bardzo interesującą funkcjonalnością jest możliwość udostępniania programów zdalnych poprzez Terminal Services Web Access, pozwalającą na publikację programów poprzez stronę internetową.

Przykład 12 – Właściwości aplikacji w RemoteApp
Zakończeniem tego etapu jest podsumowanie zawierające listę wybranych aplikacji oraz wykaz ich konfiguracji (Przykład 13).

Przykład 13 – Podsumowanie dodania aplikacji do RemoteApp
Po zakończonym procesie dodawania aplikacji zdalnych wykazują się one w polu RemoteApp Programs. Ponownie można znaleźć określenie opcji TS Web Access, należy pamiętać, iż wymagana jest do tego instalacja dodatkowego komponentu.

Przykład 14 – Lista aplikacji RemoteApp
Publikacja aplikacji zdalnych może odbywać się na dwa sposoby. Pierwszym jest utworzenie skrótu w postaci pliku .rdp, który będzie działać niemalże identycznie jak ikona aplikacji. Kolejnym sposobem jest utworzenie paczki .msi, z wykorzystaniem, której możliwa jest dystrybucja z wykorzystaniem GPO oraz przypisanie aplikacji zdalnej, jako domyślnego programu dla plików z konkretnymi rozszerzeniami (Przykład 15).

Przykład 15 – Publikowanie aplikacji w RemoteApp
Niezależnie od wyboru sposobu publikacji, cały proces odbywa się ponownie z wykorzystaniem kreatora. Poszczególne opcje oraz różnice zostaną omówione w dalszej części tego artykułu (Przykład 16).

Przykład 16 – Kreator publikacji zdalnych aplikacji
Pierwszym etapem konfiguracji publikacji zdalnych aplikacji jest określenie folderu, w jakim będą przechowywane pliki – można np. wykorzystać zasób sieciowy i w ten sposób przekazywać użytkownikom aplikacje. Można także określić parametry serwera w tym także port, poprzez który odbywać się będzie komunikacją, określić użycie Terminal Services Gateway, czyli nowej opcji Terminal Services pozwalającej na łączenie się klientów za pośrednictwem portu, 443 czyli protokołu HTTPS, a także podpisać aplikacje certyfikatem w celu umożliwienia klientom określenie wiarygodności źródła, z jakiego pochodzą aplikacje zdalne (Przykład 17).

Przykład 17 – Właściwości pliku RDP dla danej aplikacji
Specyficzne ustawienia przypisane są tworzeniu paczek .msi. Określa się miejsce, w którym dodane mają zostać ikony aplikacji (Pulpit lub menu Start) oraz czy aplikacja ma stać się domyślnym programem dla przypisanych jej rozszerzeń (Przykład 18).

Przykład 18 – Publikacja do pliku .msi
Po zakończeniu tego procesu (Przykład 19) pozostaje jedynie przekazanie stworzonych plików klientom. Najwygodniejszym sposobem z punktu widzenia administratora będzie wykorzystanie paczek .msi i ich zdalna instalacja z wykorzystaniem GPO lub System Center Configuration Manager lub jego poprzednika System Management Server 2003.

Przykład 19 – Podsumowanie publikacji plików .rdp
W specyficznych warunkach można wykorzystać pliki .rdp (Przykład 20, 21) przekazując je użytkownikowi np. z wykorzystaniem poczty elektronicznej, będzie to szczególnie interesujący scenariusz dla komputerów mobilnych, które będą pracować poza domeną.

Przykład 20 – Opublikowane aplikacje zdalne
Wykorzystanie aplikacji zdalnych
Przyglądając się klientowi z zainstalowanymi aplikacjami RemoteApp na pierwszy rzut oka nie można odróżnić ich od tych zainstalowanych lokalnie. Pliki .rdp domyślnie posiadają inny rodzaj ikony niż odpowiadająca im aplikacja, ale nie różnią się niczym pod względem użycia (Przykład 21).

Przykład 21 – Aplikacje zdalne po stronie klienckiej
Po uruchomieniu zdalnej aplikacji pojawia się standardowe okno łączenia do sesji terminalowej (Przykład 22).

Przykład 22 – Nawiązanie połączenia przez RemoteApp
Aby skorzystać z aplikacji konieczne jest uwierzytelnienie się użytkownika, oraz posiadanie klienta zgodnego ze skonfigurowanym rodzajem uwierzytelniania (Przykład 23).

Przykład 23 – Uwierzytelnienie w usłudze terminalowej
Po poprawnym procesie uwierzytelniania użytkownik zostanie zapytany o poziom dostępu przydzielone danej aplikacji. Możliwa jest konfiguracja wykorzystania zasobów lokalnych: dysku, schowka, dostępu do portów i urządzeń typu Plug & Play (Przykład 24).

Przykład 24 – Określenie uprawnień dostępowych dla zdalnej aplikacji
Pełny proces ustalania połączenia można podejrzeć wykorzystując przycisk Details, jak można zauważyć jest on identyczny jak przy normalnym połączeniu pulpitu zdalnego. Ostatecznie jednak użytkownik nie otrzyma dostępu do pulpitu komputera zdalnego (Przykład 25).

Przykład 25 – Szczegółowy widok procesu uruchamiania aplikacji zdalnej
Należy zwrócić uwagę, iż celem RemoteApp jest przekazanie użytkownikowi końcowemu jedynie okna skonfigurowanej wcześniej aplikacji, które dodatkowo w pełni integruje się z pulpitem oraz z systemem zgodnie z określonymi ustawieniami. Aplikacjami zdalnymi mogą być również komunikatory internetowe lub inne aplikacje, które minimalizują się do paska szybkiego uruchamiania (systray) (Przykład 26).

Przykład 26 – Aplikace działająca jako RemoteApp
Podsumowanie
Wykorzystanie usług terminalowych staje się coraz bardziej popularne, a funkcjonalności jakie oferują są atrakcyjną alternatywą dla rozwiązań firm trzecich. Ich głównymi zaletami jest prostota użycia, bezpieczeństwo oraz wygoda korzystania .Zdalne aplikacje niosą z sobą liczne funkcjonalności przydatne w wielu organizacjach. Są dużym ułatwieniem w sytuacjach, gdy istnieje nagła potrzeba udzielenia dostępu np. do specyficznej aplikacji biznesowej. Zastosowanie Terminal Services RemoteApp zapewne znajdzie wielu zwolenników przy równie dużej ilości możliwych scenariuszy zastosowania.

Bardzo przydatna rola, którą będę musiał przetestwać
Pytanie tylko czy jeżeli 1 użytkownikowi udostępnimy np. 3 aplikacje to chcąc uruchomić je wszystkie jednocześnie będzie musiał do każdego połączenia rdp wpisywać dane logowania? jeżeli tak to będzie trochę irytujące dla użytkownika, poświadczenia można zapamiętać ale jeżeli nie chcemy tego robić?