gpt4 book ai didi

session - 检测 Citrix XenDesktop session

转载 作者:行者123 更新时间:2023-12-05 00:02:05 27 4
gpt4 key购买 nike

我正在寻找确定我们的应用程序是否在 XenDesktop session 上而不是在本地运行。这是我到目前为止发现的:

我们目前有检测 Citrix XenApp session 的代码,类似于 Helge Klein 在“API for Determining if App is Running on Citrix or Terminal Services”中提到的解决方案。

遗憾的是,XenDesktop 环境中的解决方案返回了 WTSClientProtocolType。的 0这表示本地控制台 session 。

在回答同样的问题时,Josh Weatherly 提到了检查 sessionname 环境变量。

但是使用 echo %sessionname% 进行快速控制台检查在 XenDesktop 环境中返回“控制台”。

来自“Detect citrix “application mode”?”的 John Sibly 提出了一种检测远程 session 的解决方案(尤其是 Citrix):
GetSystemMetrics(SM_REMOTESESSION)然而返回 0 这也意味着它是一个本地 session 。

有谁知道检测它是 XenDesktop session 的方法吗?就您所见,我所有的尝试都返回该 session 是本地控制台 session 。

我正在使用 XenDesktop Express 5.5,使用 Citrix Receiver Web 插件访问桌面。

最佳答案

如果您将 XenDesktop 用于 VDI,那么就应用程序而言,该应用程序正在本地执行。 VDI 或虚拟桌面基础架构包括将 GUI 从功能齐全的桌面操作系统交付到远程设备。通常,桌面操作系统在数据中心管理程序上的虚拟机中执行,GUI 使用 Citrix 的 ICA 堆栈传输到远程设备。例如,这发生在池桌面方案中。

XenApp 提供虚拟桌面,这是一个略有不同的概念。同样,桌面使用 ICA 堆栈传送到远程设备。但是,桌面不再在专用操作系统上运行。相反,它是单个 Windows Server 上的多个用户 session 之一。可能有任意数量的用户登录到该服务器。这限制了可以运行的应用程序,这就是为什么应用程序可能想知道它们在多用户操作系统上的原因。

您可能会尝试确定是否使用 ICA 堆栈远程交付 GUI。一个简单的检查将涉及查找负责实现 ICA 堆栈的“ProticaService”。

或者,您可能正在尝试确定您的机器是在 VM 中运行还是在机器上运行。除了第一段中描述的池化方案外,XenDesktop 还可以提供本地运行的桌面。这克服了对虚拟化 I/O 设备(例如 CAD 应用程序使用的显卡)的限制。在这种情况下,您需要排除 VMM 或管理程序的存在。

关于session - 检测 Citrix XenDesktop session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477506/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com