Czy klienci RDP mogą uruchamiać aplikacje zdalne, a nie komputery stacjonarne
85
Czy klienci RDP mogą uruchomić aplikację zdalną, a następnie wyświetlić tylko tę aplikację (a nie pulpit)? Aplikacja pojawiłaby się na pełnym ekranie w kliencie i gdyby aplikacja została zamknięta, sesja zakończyłaby się.
Odpowiedź @ user172681 zawiera najbardziej aktualny link. Jest teraz również sprytne narzędzie o nazwie „Narzędzie RemoteApp” (patrz łącza w sekcji aktualizacji u góry strony) do konfigurowania aplikacji zdalnych i generowania plików RDP ... działało idealnie dla mnie w systemie Win7.
John Rix
Odpowiedzi:
19
Używając pliku połączenia RDP, możesz ustawić alternatywną powłokę jako twoją aplikację; składnia pliku jest podobna do
alternate shell:s:c:\winnt\system32\notepad.exe
i przekazujesz to jako argument wiersza poleceń do mstsc.exe; jest to podobne do rozwiązania chrissr, ale bez wpływu na każdą uruchamianą sesję RDP. Pełniejsze podsumowanie ustawień tutaj .
nie zadziałało ... widziałem właściwość w pliku rdp, ale dokonanie zmiany (która się powinna zadziałać) nic nie zmieniła, kiedy zainicjowałem połączenie. zdalny z Vista x64 do Win 7 x64.
sonjz
3
Niestety link nie działa.
Nikola Malešević
1
Czy mógłbyś to zaktualizować, podając więcej szczegółów lub przynajmniej naprawić link?
remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:
Dla ścisłości: powyższe zmiany (z pierwszej sekcji) należy wprowadzić w samym .rdppliku oraz w rejestrze na serwerze.
picrap
Dla przypomnienia, istnieją dwa podobnie nazwane klucze RDP: remoteapplicationfile:si remoteapplicationprogram:s. Do *filekluczowych Określa pełną ścieżkę do pliku wykonywalnego na lokalnym (host) komputerze, a *programklucz określa wykonywalny na zdalnym komputerze.
Moshe Rubin
11
Nazywa się to trybem „płynnym”. rdesktop, klient RDP dla systemu Unix, jest w stanie to zrobić. Ze strony podręcznika:
-A Enable SeamlessRDP. In this mode, rdesktop creates a X11 window for each window on the server
side. This mode requires the SeamlessRDP server side component, which is available from
http://www.cendio.com/seamlessrdp/. When using this option, you should specify a startup
shell which launches the desired application through SeamlessRDP.
Musimy zezwolić na uruchamianie programów spoza listy z RDP.
1.1 Zapisz poniższy skrypt na swoim pulpicie, rozszerzenie musi kończyć się na .reg.
Edytor rejestru systemu Windows w wersji 5.00
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Terminal Server \ TSAppAllowList]
„fDisabledAllowList” = dword: 00000001
1,2 prawym przyciskiem myszy na plik i kliknij Merge, Yes, Ok.
Modyfikowanie naszego pliku rdp.
2.1 Na końcu naszego pliku dodaj następujący kod:
tryb zdalnej aplikacji: i: 1
remoteapplicationname: s: to będzie opcjonalny opis aplikacji
remoteapplicationprogram: s: Względna lub bezwzględna ścieżka do aplikacji
(Przykład: taskmgr lub C: \ Windows \ system32 \ taskmgr.exe)
remoteapplicationcmdline: s: W tym miejscu można umieścić dowolne opcjonalne parametry aplikacji
Lub po prostu użyj tego, aby upewnić się, że działa:
Doskonała odpowiedź powyżej wykorzystuje remoteapplicationprogram:sklucz do określenia aplikacji znajdującej się na komputerze zdalnym . Aby uruchomić lokalną aplikację po stronie hosta na komputerze zdalnym, użyj remoteapplicationfile:sklucza.
Moshe Rubin
6
Tak, możesz zmienić domyślną powłokę z Explorer.exe na określoną aplikację.
W Regedit przejdź do HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. Bieżącą powłoką powinien być Explorer.exe. Zmień go na YourApp.exe. Spowoduje to zmianę powłoki dla wszystkich użytkowników, którzy logują się do komputera. Jeśli chcesz zmienić go tylko dla określonego użytkownika, przejdź do tego samego klucza w HKEY_CURRENT_USER.
Uwaga: użytkownicy nadal będą mogli używać CTRL-Alt-Del i uzyskiwać dostęp do innych aplikacji. Możesz chcieć wyłączyć CTRL-Alt-Del dla konta lub grupy, która będzie się logować przez RDP.
chrissr
3
To skutecznie uniemożliwia użytkownikowi regularne logowanie.
ypnos
2
Nazywa się to RemoteApp. Aby z niego korzystać, musisz zainstalować usługi terminalowe, które teraz nazywają się usługami pulpitu zdalnego.
Myślę, że Citrix robi takie rzeczy. Chociaż nie jestem pewien szczegółów, ponieważ użyłem go tylko kilka razy. Myślę, że ten, którego użyłem, nazywał się XenApp, ale nie jestem pewien, czy o to ci chodzi.
Wydaje się, że XenApp bardziej dotyczy wirtualizacji aplikacji niż zdalnego dostępu (chociaż widzę, że ma opcję zdalną). Szukam też czegoś w obozie open source (np. Rdesktop).
Richard Dorman
2
Pod maską kluczowym elementem XenApp jest nadal przetwarzanie na serwerze (tak jak dziesięć lat temu, kiedy produkt nosił nazwę MetaFrame). Po prostu zmieniły się mody marketingowe, a produkt poszerzył się, obejmując więcej niż tylko rdzeń aplikacji zdalnej.
Steve Gilham
1
Inny sposób jest pokazany w tym artykule CodeProject:
Podstawowym pomysłem jest utworzenie kanału wirusowego, który wysyła pozycję okien aplikacji, które chcesz pokazać, a następnie renderuje tylko tę część okna na kliencie.
Jak powiedziały inne odpowiedzi - musisz wykonać trochę skryptów i wprowadzić zmiany zasad, aby utrudnić logowanie RDP do uruchamiania czegokolwiek poza zamierzoną aplikacją.
Jednak od 2008 r. Firma Microsoft udostępniła technologię wirtualizacji aplikacji za pośrednictwem usług terminalowych, która umożliwia bezproblemowe wykonywanie tego zadania.
Przynajmniej w wersji 2008R2, jeśli konta są używane tylko do RDP, a nie do logowania lokalnego, możesz to ustawić dla każdego konta. To powinno działać w przypadku cienkich klientów. Jeśli konta są również używane na lokalnych komputerach stacjonarnych, wpłynęłoby to również na te logowania.
W ADUsers & Computers otwórz właściwości konta i przejdź do zakładki Environment. Na tej karcie zaznacz opcję „Uruchom następujący program przy logowaniu” i określ ścieżkę oraz plik wykonywalny programu.
Odpowiedzi:
Używając pliku połączenia RDP, możesz ustawić alternatywną powłokę jako twoją aplikację; składnia pliku jest podobna do
i przekazujesz to jako argument wiersza poleceń do mstsc.exe; jest to podobne do rozwiązania chrissr, ale bez wpływu na każdą uruchamianą sesję RDP. Pełniejsze podsumowanie ustawień tutaj .
źródło
Wydaje się, że „alternatywna powłoka” już nie działa w najnowszych wersjach systemu Windows
RemoteApp
.Aby to działało np. Pod Windows 10 Professional, należy włączyć jakąś politykę :
źródło
.rdp
pliku oraz w rejestrze na serwerze.remoteapplicationfile:s
iremoteapplicationprogram:s
. Do*file
kluczowych Określa pełną ścieżkę do pliku wykonywalnego na lokalnym (host) komputerze, a*program
klucz określa wykonywalny na zdalnym komputerze.Nazywa się to trybem „płynnym”.
rdesktop
, klient RDP dla systemu Unix, jest w stanie to zrobić. Ze strony podręcznika:Więcej informacji można znaleźć na wspomnianej stronie internetowej Cendio .
źródło
Jest to dość łatwo osiągalne.
1.1 Zapisz poniższy skrypt na swoim pulpicie, rozszerzenie musi kończyć się na .reg.
1,2 prawym przyciskiem myszy na plik i kliknij Merge, Yes, Ok.
2.1 Na końcu naszego pliku dodaj następujący kod:
Lub po prostu użyj tego, aby upewnić się, że działa:
2.2 Wprowadź swoją nazwę użytkownika i hasło i połącz się.
3. Teraz możesz używać RemoteApp bez żadnych problemów, tak jakby był uruchomiony na komputerze lokalnym 😉
źródło
remoteapplicationprogram:s
klucz do określenia aplikacji znajdującej się na komputerze zdalnym . Aby uruchomić lokalną aplikację po stronie hosta na komputerze zdalnym, użyjremoteapplicationfile:s
klucza.Tak, możesz zmienić domyślną powłokę z Explorer.exe na określoną aplikację.
W Regedit przejdź do HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon. Bieżącą powłoką powinien być Explorer.exe. Zmień go na YourApp.exe. Spowoduje to zmianę powłoki dla wszystkich użytkowników, którzy logują się do komputera. Jeśli chcesz zmienić go tylko dla określonego użytkownika, przejdź do tego samego klucza w HKEY_CURRENT_USER.
źródło
Nazywa się to RemoteApp. Aby z niego korzystać, musisz zainstalować usługi terminalowe, które teraz nazywają się usługami pulpitu zdalnego.
https://social.technet.microsoft.com/wiki/contents/articles/10817.publishing-remoteapps-in-windows-server-2012.aspx
źródło
Myślę, że Citrix robi takie rzeczy. Chociaż nie jestem pewien szczegółów, ponieważ użyłem go tylko kilka razy. Myślę, że ten, którego użyłem, nazywał się XenApp, ale nie jestem pewien, czy o to ci chodzi.
źródło
Inny sposób jest pokazany w tym artykule CodeProject:
http://www.codeproject.com/KB/IP/tswindowclipper.aspx
Podstawowym pomysłem jest utworzenie kanału wirusowego, który wysyła pozycję okien aplikacji, które chcesz pokazać, a następnie renderuje tylko tę część okna na kliencie.
źródło
RDP nie zrobi tego natywnie.
Jak powiedziały inne odpowiedzi - musisz wykonać trochę skryptów i wprowadzić zmiany zasad, aby utrudnić logowanie RDP do uruchamiania czegokolwiek poza zamierzoną aplikacją.
Jednak od 2008 r. Firma Microsoft udostępniła technologię wirtualizacji aplikacji za pośrednictwem usług terminalowych, która umożliwia bezproblemowe wykonywanie tego zadania.
źródło
Przynajmniej w wersji 2008R2, jeśli konta są używane tylko do RDP, a nie do logowania lokalnego, możesz to ustawić dla każdego konta. To powinno działać w przypadku cienkich klientów. Jeśli konta są również używane na lokalnych komputerach stacjonarnych, wpłynęłoby to również na te logowania.
W ADUsers & Computers otwórz właściwości konta i przejdź do zakładki Environment. Na tej karcie zaznacz opcję „Uruchom następujący program przy logowaniu” i określ ścieżkę oraz plik wykonywalny programu.
źródło