Blog (9)
Komentarze (978)
Recenzje (1)

RemoteApp w Windows czyli zdalny pulpit bez pulpitu

@FaUstRemoteApp w Windows czyli zdalny pulpit bez pulpitu28.09.2011 14:56

Korzystacie czasem ze zdalnego pulpitu? Ja tak i to nawet często. Najczęściej uruchamiamy zdalny pulpit aby uruchomić jakąś aplikację której nie chcemy instalować na każdym komputerze (lub nie możemy bo zabrania tego licencja).

A co powiecie na uruchamianie zamiast klienta Remote Desktop i przeklikiwania się przez miliony skrótów na pulpicie i w Menu Start tylko tego jednego potrzebnego programu? Zaciekawieni? To zapraszam dalej :)

Na początek definicja RemoteApp ze strony technet.microsoft.com :

Funkcja Terminal Services RemoteApp (TS RemoteApp) pozwala organizacjom udostępniać standardowe programy oparte na systemie Windows z prawie dowolnej lokalizacji użytkownikom dowolnego komputera z systemem Windows Vista® lub Windows Server® 2008, a także użytkownikom komputerów z systemami Windows® XP z dodatkiem Service Pack 2 lub Windows Server 2003 z dodatkiem Service Pack 1 z zainstalowanym nowym klientem usługi Podłączanie pulpitu zdalnego (RDC, Remote Desktop Connection) 

Czyli jednym słowem za pomocą tej usługi możemy klientowi dostarczyć potrzebne oprogramowanie bez konieczności „wpuszczania” go bezpośrednio na pulpit serwera. Chwila, chwila – piszę serwera, a miało być o Windows 7. I właśnie okazuje się, że możemy taki domowy serwer postawić u siebie o ile posiadamy system Windows 7 Ultimate/Enterprise (niestety), Windows Vista SP1 Pro lub wyżej, lub Windows XP Profesionall SP3.

Trick który opiszę poniżej ma niestety kilka ograniczeń w stosunku do pełnoprawnej usługi TS Remote APP znanej z edycji serwerowych. Po pierwsze Windows w wersji klienckiej pozwala na uruchomienie tylko jednej zdalnej sesji jednocześnie (ale istnieją odpowiednie patche które pozwalają to obejść – ciekawskich zapraszam do linków na końcu artykułu) czyli de facto uruchomienia tylko jednego programu. Nie możemy również skorzystać z programów wykorzystujących DirectX – protokół RDP niestety nie obsługuje akceleracji (chociaż na Windows Server 2008 R2 pojawił się RemoteFX pozwalający wykorzystać akcelerację na wirtualizowanych maszynach, a Microsoft nieśmiałe zapowiada tę funkcjonalność w Service Pack’u 3 dla Windows 7).

Koniec wstępu – zaczynamy zabawę!

Pierwszym krokiem jest włączenie zdalnego pulpitu na naszym serwerze:

Windows XP SP3: PPM -> Moj Komputer-> Zdalny-> Zezwalaj użytkownikom na zdalne łączenie się z tym komputerem

Windows Vista oraz Windows 7 Panel Sterowania -> System -> Zdalny -> Zezwalaj na połączenia z komputerów z dowolna wersją Pulpitu zdalnego (mniej bezpieczne)

Na początek uruchamiamy edytor rejestru: Start->Uruchom(lub Win+R)->regedit.exe

Przechodzimy do gałęzi

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server

w kluczu TsAppAllowList zmieniamy wartość na 1

poniżej Terminal Server tworzymy klucz Applications,

pod Applications tworzymy następny klucz o dowolnej nazwie - najlepiej takiej jak aplikacja aby się nie pogubić,

W kluczu tworzymy:

wartość ciągu (string) o nazwie Name - tutaj wpisujemy nazwę programu - dla przykładu Notepad,

wartość ciągu (string) o nazwie Path w której wpisujemy ścieżkę do programu: c:\windows\system32\Notepad.exe,

To powinna wystarczyć ale jeśli tak nie będzie należy dopisać następujące klucze:

CommandLineSetting=dword:00000000
RequiredCommandLine=
VPath="%SYSTEMDRIVE%\\Windows\\system32\\notepad.exe"
ShowInTSWA=dword:00000001
SecurityDescriptor=

Następnie po stronie klienta w notatniku tworzymy plik z zawartością (najważniejsze 4 pierwsze linijki):

full address:s:ADRES_IP_SERWERA
remoteapplicationprogram:s:||Notepad
remoteapplicationname:s:Notepad
alternate full address:s:NAZWA_SERWERA - opcjonalnie
redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:0
authentication level:i:2
remoteapplicationcmdline:s:
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:2
disable wallpaper:i:1
allow desktop composition:i:1
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectdirectx:i:1
autoreconnection enabled:i:1
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
use redirection server name:i:0

zapisujemy go z rozszerzeniem *.rdp i uruchamiamy.

W zależności od systemu na którym hostujemy aplikację powinniśmy zostać poproszeni o hasło i login (Windows 7 i prawdopodobnie Vista), lub musimy kliknąć w Details i wpisać login i hasło (Windows XP). Jeśli w systemie jest w tej chwili zalogowany użytkownik dostaniemy również w tym oknie komunikat, że użytkownik jest zalogowany i czy chcemy go wylogować.

To by było na tyle z naszym RemoteApp'em.

Jeśli chcemy korzystać z "serwera" na Windows XP musimy doinstalować poprawkę z adresu: http://www.microsoft.com/downloads/details.aspx?FamilyID=2f376f53-83cf...

Windows Vista SP1: http://www.microsoft.com/downloads/details.aspx?FamilyID=2f376f53-83cf...

Klienci RDP v7 (wymagany dla RemoteApp) dla: Windows XP: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyI...

Windows Vista: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyI...

Kilka sesji RDP na Windows XP: http://www.howtechnews.com/2008/05/17/enabling-multiple-concurrent-rem...

Kilka sesji RDP na Windows Vista

http://experts.windows.com/frms/windows_entertainment_and_connected_ho...

Kilka sesji RDP na Widnows 7: http://www.raymond.cc/blog/archives/2011/03/26/enable-remote-desktop-c...

Powyższe instrukcje mogą nie działać lub być nieaktualne.

Jak ktoś jest leniwy i nie lubi grzebać w rejestrze i pliku RDP może skorzystać z programu na stronie http://sites.google.com/site/kimknight/remoteapptool i dzięki temu dodać aplikacje oraz wygenerować plik RDP do połączenia

Nie odpowiadam za wszelkie problemy, usterki awarie które mogą wyniknąć z powodu nieumiejętnej edycji rejestru bądź zmiany plików systemowych.

Wszystko robicie na własne ryzyko ;)

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.