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

本文关键字:用户 信息 Citrix 访问 -Application | 更新日期: 2023-09-27 18:07:09

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

由于我对思杰完全陌生:

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

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

是的,标准AD内容在Citrix环境中工作良好。无论出于何种意图和目的,您都可以将服务器的Citrix使用视为与正常的"Windows"使用相同。虽然Citrix提供了自己的自定义管理和代理层,但一旦用户连接到Windows会话,它在很大程度上是相同的。

对于部署,你的应用程序需要安装在每个Citrix服务器上。然而,如何访问应用程序取决于你的客户想要什么。它是某种用户明确选择启动的自助服务应用程序吗?或者当用户启动其他应用程序时,它会运行并弹出?

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

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

c: ' ' ' appdata '漫游' '用户file.whatever

注意"appdata"后面的"roaming"路径——这是配置文件的漫游部分。appdata'local中的任何内容都不会离开该特定机器。

对于全局设置,您将使用本地机器单元(HKLM)。如果您在机器上具有本地管理权限,则只能写入此hive。通常有两种设置方法:

  1. 在应用程序的安装程序中。您将在安装程序中拥有一个UI页面,管理员可以在其中更改设置的值。该设置将被写入如下位置:HKLM'Software'CompanyName'ProductName'SomeKey。通常,管理员会自动将MSI部署到他的服务器上,并在MSI部署脚本中包含适当的值(而不必在所有服务器上手动执行MSI)。
  2. 使用与上述相同的密钥,但使用组策略进行配置。虽然管理员可以使用gpo来编辑任何regg键,但如果使用gpo是更改应用设置的推荐方法,通常你会提供一个ADM模板,让管理员更容易做到这一点。http://blogs.technet.com/b/askds/archive/2007/08/14/deploying-custom-registry-changes-through-group-policy.aspx