从C#-Application访问Citrix用户信息

时间:2013-04-03 11:46:13

标签: c# active-directory citrix

客户希望在登录时在winform中显示用户信息(如密码到期之前的时间)。这些是Active Directory用户

因为我对Citrix完全陌生:

  1. 我可以像以下一样访问活动目录:http://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C 或者这仅适用于Windows用户,而不适用于Citrix
  2. 我是否必须在每个客户端上发布该应用程序,还是只在服务器上部署?
  3. 在该环境中保存设置的最佳方法是什么?我可以使用注册表吗?

1 个答案:

答案 0 :(得分:3)

是标准AD内容在Citrix环境中正常工作。出于所有意图和目的,您可以将服务器的Citrix使用情况视为与普通“Windows”使用情况相同。虽然Citrix提供了自己的自定义管理和代理层,但一旦用户连接到Windows会话,它就大致相同。

要进行部署,您的应用程序需要安装在每台Citrix服务器上。但是,应用程序的访问方式取决于您的客户需求。它是否意味着是用户明确选择推出的一些自助服务应用程序?或者,当用户启动其他应用程序时,它是否会运行并弹出?

如果是用户明确启动的应用程序,则Citrix管理员需要使用Citrix管理控制台发布该应用程序。如果它应该为其他应用程序启动,那么当用户在Citrix服务器上启动会话时,客户需要配置某种形式的登录脚本来启动应用程序。

对于设置,您通常希望将内容存储在用户的漫游配置文件中。这可以是文件或注册表。对于注册表,您应该使用当前用户配置单元(HKCU)。只要漫游配置文件设置正确,任何写入HKCU的内容都应该跟随用户跨服务器。对于文件,查找适当的环境变量以获取漫游配置文件路径。您最终会将内容写入以下位置:

C:\用户\\应用程序数据\漫游\\ file.whatever

请注意“appdata”之后的“漫游”路径 - 这是配置文件的漫游部分。 appdata \ local中的任何内容都不会离开该特定的计算机。

对于全局设置,您将使用本地计算机配置单元(HKLM)。如果您在计算机上拥有本地管理员权限,则只能写入此配置单元。通常有两种主要方式设置此类设置:

  1. 在您的应用程序的安装程序中。您将在安装程序中有一个UI页面,管理员可以在其中更改设置的值。该设置将写入以下位置:HKLM \ Software \ CompanyName \ ProductName \ SomeKey。通常,管理员会自动将MSI部署到他的服务器,并在MSI部署脚本中包含适当的值(而不是必须在所有服务器上手动执行MSI)。
  2. 使用与上面相同的密钥,但使用组策略配置设置。虽然管理员可以使GPO编辑任何注册表项,但通常您会提供一个ADM模板,以便管理员可以更轻松地执行此操作,如果使用GPO是更改应用程序设置的推荐方法。看到这个链接: http://blogs.technet.com/b/askds/archive/2007/08/14/deploying-custom-registry-changes-through-group-policy.aspx