统计Citrix上的独特用户?

时间:2014-10-08 10:18:05

标签: licensing citrix

我对Citrix知之甚少(如果我错了,请纠正我)它为Citrix服务器的每个并发用户运行一个单独的Windows副本,以及所有应用程序等。

如果部署我已写入Citrix服务器的应用程序,有没有办法告诉我们总共有多少用户?例如Citrix能为我提供客户端工作站或用户帐户的唯一ID吗?或者我是否仅限于检测并发用户?

2 个答案:

答案 0 :(得分:1)

这是正确的,但不是真的。严格来说,它并不是完全独立的Windows副本。每个用户都有自己的“会话”,这是他们自己在机器上独特的沙盒,并且有跨会话使用的共享服务。

我要谈的所有内容并不是特定于Citrix的。如果您的用户正在RDP进入服务器,它也是标准的Windows内容。您可以查询一些可能对您有用的状态:

  • 会话ID在会话的生命周期内将是唯一的(但是随着时间的推移会话来去,ID会被重新使用)。这可能不是您的最佳选择,因为可以让用户在同一台​​服务器上拥有多个会话。要了解有关此API和其他API的更多信息,请查看远程桌面服务API:http://msdn.microsoft.com/en-us/library/aa383464(v=vs.85).aspx
  • 您可以查询当前用户身份,这样您就可以获得用户名,域名等。只需使用标准身份API即可。

会话中运行的任何应用都可以查询当前会话的上述状态。但是,如果要查询在同一服务器上运行的其他会话的状态,则需要本地管理员权限。因此,如果您想要某种通用机制,允许您的应用程序的任何实例确定服务器上有多少唯一用户,那么您将不得不做一大堆工作。

E.g。创建一些额外的长期服务,您的应用的所有实例都会报告它们存在,然后进行查询以获取当前唯一的用户数。

如果您希望获得Citrix特定的内容,可以使用类似XenApp Powershell SDK的内容,但是根据您要查询的内容,当前用户可能需要在Citrix场中使用某种形式的委派管理员权限。

这是一个散射枪的答案 - 我给了你一堆不同的东西要检查。如果没有关于您的用例的更多具体信息,很难深入了解更具体的细节。

答案 1 :(得分:0)

您有哪个版本的Citrix?您可以查询EdgeSight(如果是7.x之前)或Director以获取此类信息,并选择唯一条件来确定用户是否位于多个位置(端点IP或名称)。通常,如果使用会话共享设置Citrix,则会话将漫游,因此即使用户共享登录,也可能一次只能运行一个会话。如果其他用户使用相同凭据从另一台计算机登录Citrix,则会话将移至该新端点。

https://edgesightunderthehood.com/ https://wagthereal.com/tag/ms-sql/