我们有一个位于 C:\APP 中的旧版应用程序,它被硬编码为仅在该目录中查找其配置。当前的设置是,有一个中央服务器,它本质上是一个美化的文件共享,然后是指向中央共享的 Windows 客户端。该应用程序安装在所有 Windows 客户端上,它们在 C:\APP 中查找其配置设置。
我们希望让用户开始使用终端服务,但问题是,如果两个人通过 TS 登录,他们都将从同一个 C:\APP 目录读取配置。这将始终覆盖一个或多个用户的配置。
我知道有办法将用户文件夹(如音乐、文档、图片等)重新映射到其他驱动器,但是是否有可能将 C 根目录中的文件夹映射到每个同时用户的不同文件夹?
我研究过符号链接,但没有成功,因为它似乎在整个系统范围内持续存在。
是否有与 subst 命令等效的命令可以让我将 X:\User1 映射到 C:\APP 并使其按用户应用?
答案1
程序需要设计和编程为多用户和多实例感知,才有可能在 RDP 服务器上运行,因为你遇到的确切原因是——意外的共享资源(在本例中是特定磁盘上的特定文件夹)
根据您告诉我们的情况,您的程序在编写时并没有考虑多用户,更不用说在同一台计算机上考虑多实例了。
对于您尝试的直接 RDS 路线,唯一真正的答案是:重写或替换程序。
如果您的 Windows Server 版本支持虚拟桌面(并且您拥有不错的服务器硬件),那么另一种方法是使用虚拟桌面。您可以将其配置为使用一个 Windows 映像(例如 Windows 7),并且每次用户通过 RDP 进入服务器时,都会启动一个私有虚拟机,其中包含该映像的副本(或专门为用户保留的副本),并且虚拟机的桌面就是通过 RDP 交付给用户的。
这样,每个 RDP 会话都是自己的 VM,具有自己的C:\APP
,就像安装在胖客户端上一样。
请记住,您需要为所有这些申请许可。您需要正确的 RDS 许可证,以及您可能同时运行的每台虚拟机的 Windows 许可证。
首先,可以查看以下一些资源: