C# 如何注销 Citrix XenApp 用户会话?

C# How do I log off a Citrix XenApp User Session?

由于 Citrix 在其 SDK 上的文档绝对为零,因此我在此进行记录。

如何使用 C# 以编程方式注销用户会话?

使用下面的简单方法通过分析会话并注销单个会话来注销用户会话。

using Citrix.Common.Sdk;
using Citrix.XenApp.Sdk;
using Citrix.XenApp.Commands;
using Citrix.Management.Automation;

    private void logoffUser(string strUser)
    {
        GetXASessionByFarm sessions = new GetXASessionByFarm(true);

        foreach (XASession session in CitrixRunspaceFactory.DefaultRunspace.ExecuteCommand(sessions))
        {
            if (session.AccountName.ToLower() == objWINSDomainName + "\" + strUser)
            {
                var cmd = new StopXASessionByObject(new[] { session });
                CitrixRunspaceFactory.DefaultRunspace.ExecuteCommand(cmd);
            }
        }
    }