RDP 客户端可以启动远程应用程序而不是桌面吗

发布于 07-30 06:29 字数 77 浏览 8 评论 0原文

RDP 客户端是否可以启动远程应用程序,然后仅显示该应用程序(而不是桌面)? 应用程序将在客户端中全屏显示,如果应用程序关闭,会话将结束。

Can RDP clients launch a remote application and then only display that application (and not the desktop)? The application would appear fullscreen within the client and if the application were closed the session would end.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

ゃ懵逼小萝莉2024-08-06 06:29:10

“备用 shell”在最新版本的 Windows 中似乎不再工作,< a href="https://stackoverflow.com/questions/1226772/can-rdp-clients-launch-remote-applications-and-not-desktops/1288664#comment68520346_1288664">RemoteApp 是要走的路。

remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:

要使其在 Windows 10 Professional 等系统下工作,需要 启用某些策略

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001

"alternate shell" doesn't seem to work anymore in recent versions of Windows, RemoteApp is the way to go.

remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:

To get this to work under e.g. Windows 10 Professional, one needs to enable some policy:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001
蓝海似她心2024-08-06 06:29:10

这称为“无缝”模式。 rdesktop,Unix 的 RDP 客户端,能够做到这一点。 从联机帮助页:

 -A 启用 SeamlessRDP。   在此模式下,rdesktop 为服务器上的每个窗口创建一个 X11 窗口 
            边。   此模式需要 SeamlessRDP 服务器端组件,可从 
            http://www.cendio.com/seamlessrdp/。   使用此选项时,您应该指定启动 
            shell 通过 SeamlessRDP 启动所需的应用程序。 
  

有关详细信息,请参阅提到的 Cendio 网站

This is called "seamless" mode. rdesktop, the RDP client for Unix, is capable of this. From the manpage:

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

See mentioned Cendio website for more information.

烟雨扶苏2024-08-06 06:29:10

这是很容易实现的。

1. On the remote, we need to allow any unlisted programs to start from RDP.

1.1 Save the script below on the remote machine; the extension must end with `.reg`.

Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
    "fDisabledAllowList"=dword:00000001

       1.2 Right click on the file and click Merge, Yes, Ok.

  1. 修改 .rdp 文件。
    2.1 将 RDP 连接保存到 .rdp 文件。
    2.2 在文件末尾添加以下代码:
remoteapplicationmode:i:1
remoteapplicationname:s:This will be the optional description of the app
remoteapplicationprogram:s:Relative or absolute path to the app
                           (Example: taskmgr or C:\Windows\system32\taskmgr.exe)
remoteapplicationcmdline:s:Here you'd put any optional application parameters

Or just use this one to make sure that it works:

remoteapplicationmode:i:1
remoteapplicationname:s:
remoteapplicationprogram:s:mspaint
remoteapplicationcmdline:s:

        2.2 输入您的用户名和密码并连接。

    3. Now you can use your RemoteApp without any issues as if it was running on your local machine

This is quite easily achievable.

1. On the remote, we need to allow any unlisted programs to start from RDP.

1.1 Save the script below on the remote machine; the extension must end with `.reg`.

Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
    "fDisabledAllowList"=dword:00000001

       1.2 Right click on the file and click Merge, Yes, Ok.

  1. Modifying the .rdp file.
    2.1 Save your RDP connection to a .rdp file.
    2.2 At the end of the file, add the following code:
remoteapplicationmode:i:1
remoteapplicationname:s:This will be the optional description of the app
remoteapplicationprogram:s:Relative or absolute path to the app
                           (Example: taskmgr or C:\Windows\system32\taskmgr.exe)
remoteapplicationcmdline:s:Here you'd put any optional application parameters

Or just use this one to make sure that it works:

remoteapplicationmode:i:1
remoteapplicationname:s:
remoteapplicationprogram:s:mspaint
remoteapplicationcmdline:s:

        2.2 Enter your username and password and connect.

    3. Now you can use your RemoteApp without any issues as if it was running on your local machine ????

や莫失莫忘2024-08-06 06:29:10

使用 RDP 连接文件,您可以将备用 shell 设置为您的应用程序; 文件语法类似于

alternate shell:s:c:\winnt\system32\notepad.exe

,您将其作为命令行参数传递给 mstsc.exe; 这与 chrissr 的解决方案类似,但不会影响您启动的每个 RDP 会话。 更完整的摘要此处的设置

Using an RDP connection file you can set the alternate shell to be your application; the file syntax is like

alternate shell:s:c:\winnt\system32\notepad.exe

and you pass that as a command-line argument to mstsc.exe; this similar to chrissr's solution, but without affecting every RDP session you launch. A fuller summary of settings here.

帥小哥2024-08-06 06:29:10

这称为远程应用程序。 要使用它,您需要安装终端服务,现在称为远程桌面服务。

https:// Social.technet.microsoft.com/wiki/contents/articles/10817.publishing-remoteapps-in-windows-server-2012.aspx

This is called RemoteApp. To use it you need to install Terminal Services, which is now called Remote Desktop Services.

https://social.technet.microsoft.com/wiki/contents/articles/10817.publishing-remoteapps-in-windows-server-2012.aspx

轻许诺言2024-08-06 06:29:10

是的,您可以将默认 shell 从 Explorer.exe 更改为特定应用程序。

在 Regedit 中,导航至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon。 当前的 shell 应该是 Explorer.exe。 将其更改为 YourApp.exe。 这将更改登录到该计算机的所有用户的 shell。 如果您只想为特定用户更改它,请转至 HKEY_CURRENT_USER 中的同一键。

Yes, you can change the default shell from Explorer.exe to a specific application.

In Regedit, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. The current shell should be Explorer.exe. Change it to YourApp.exe. That will change the shell for all users who log on to the machine. If you only want to change it for a specific user, go to the same key in HKEY_CURRENT_USER instead.

多彩岁月2024-08-06 06:29:10

RDP 本身不会这样做。

正如其他答案所说,您需要编写一些脚本并进行策略更改,以使得 RDP 登录很难运行除预期应用程序之外的任何内容。

然而,自 2008 年起,Microsoft 已通过终端服务发布了应用程序虚拟化技术,使您能够无缝地执行此操作。

RDP will not do that natively.

As other answers have said -- you'll need to do some scripting and make policy changes as a kludge to make it hard for RDP logins to run anything but the intended application.

However, as of 2008, Microsoft has released application virtualization technology via Terminal Services that will allow you to do this seamlessly.

揽清风入怀2024-08-06 06:29:10

至少在 2008R2 上,如果帐户仅用于 RDP 而不是本地登录,那么您可以针对每个帐户进行设置。 这应该适用于瘦客户端。 如果这些帐户也在本地桌面上使用,那么这也会影响这些登录。

在 ADUsers&Computers 中,打开帐户的属性并转到“环境”选项卡。 在该选项卡上,选中“登录时启动以下程序”并指定该程序的路径和可执行文件。

At least on 2008R2 if the accounts are only used for RDP and not for local logins then you can set this on a per-account basis. That should work for thin clients. If the accounts are also used on local desktops then this would also affect those logins.

In ADUsers&Computers, open the properties for the account and go to the Environment tab. On that tab, check "Start the following program at logon" and specify the path and executable for the program.

朱染2024-08-06 06:29:10

另一种方法在此 CodeProject 文章中显示:

http://www.codeproject.com/KB /IP/tswindowclipper.aspx

基本思想是创建一个虚拟通道,发送要显示的应用程序的窗口位置,然后仅在客户端上呈现窗口的该部分。

Another way is shown in this CodeProject article:

http://www.codeproject.com/KB/IP/tswindowclipper.aspx

The basic idea is to create a virutal channel that sends the windows position of the app(s) you want to show, then only render that part of the window on the client.

梦冥2024-08-06 06:29:10

Google for RemoteApp 且仅 Windows Server 2016+ 提供此功能。 还有一个名为“RemoteApp Tool”的黑客工具,用于在 Windows Pro 版本中启用 RemoteApp 支持/

Google for RemoteApp and only Windows Server 2016+ provides that. There is also a hack tool named "RemoteApp Tool" to enable RemoteApp support in Windows Pro editions/

无可置疑2024-08-06 06:29:10

我认为 Citrix 就是这么做的。 虽然我不确定具体细节,因为我只使用过几次。 我认为我使用的那个叫做 XenApp 但我不确定这是否是你想要的。

I think Citrix does that kind of thing. Though I'm not sure on specifics as I've only used it a couple of times. I think the one I used was called XenApp but I'm not sure if thats what you're after.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文