【发布时间】:2020-09-07 21:50:19
【问题描述】:
我在 XenApp 服务器上将 c#.NET 应用程序作为登录/注销脚本运行。该应用程序将在用户上下文中运行,我需要能够检索(客户端的)Citrix 接收器版本号以及客户端操作系统和机器名称。
我对 Citrix API 还很陌生,而且他们似乎没有很好的文档——有谁知道如何做到这一点?
【问题讨论】:
我在 XenApp 服务器上将 c#.NET 应用程序作为登录/注销脚本运行。该应用程序将在用户上下文中运行,我需要能够检索(客户端的)Citrix 接收器版本号以及客户端操作系统和机器名称。
我对 Citrix API 还很陌生,而且他们似乎没有很好的文档——有谁知道如何做到这一点?
【问题讨论】:
我在 XenApp 服务器的 windows 注册表中找到了 citrix 接收器版本号:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Ica\Session\{SESSION_NUMBER}\Connection
可以在哪里找到 {SESSION_NUMBER}
HKEY_USERS\{SID_NUMBER}\Software\Citrix\SessionSfr
作为该键中的唯一子键,其中 {SID_NUMBER} 是登录到 XenApp 会话的用户的 SID。
【讨论】:
如果有人感兴趣,我会在周末编写一个围绕 Citrix CCM SDK 的 .NET 包装器,并将代码发布在 GitHub 上:CcmSdk.Net
该项目目前以.NET Standard 2.1 为目标,因为我需要旧版本中没有的新 UTF-8 编组功能。如果需要 .NET Framework 支持,您只需将代码复制到 .NET Framework 4.7+ 项目并改用该版本即可。
Citrix Workspace 与 Citrix Receiver 分离,我认为这里提到的注册方法无法找到 Citrix Workspace 的客户端版本,但它对我仍然很有帮助,因为我们的许多客户仍在使用旧的 Citrix接收器。
【讨论】: