Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

RemoteApp w Windows czyli zdalny pulpit bez pulpitu

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 :

r   e   k   l   a   m   a

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&Fam...

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

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 ;)
 

Komentarze