0
A
回答
0
有關當前用戶連接的所有RDP環境變量的列表,請參閱下面的註釋。
針對Citrix ICA連接的REG位置HKEY_LOCAL_MACHINE \ SOFTWARE \思傑\伊卡\會議\\連接\
的子項ClientProductID和ClientType會給參照什麼樣的設備被連接。
下面是一些基本代碼來獲得遠程會話,然後從註冊表獲取會話信息。
// Prints out ICA or RDP session ID of current user & gets ICA session ClientType variable
using System;
using Microsoft.Win32;
namespace ViaRegedit
{
class Program03
{
static void Main(string[] args)
{
// Obtain an instance of RegistryKey for the CurrentUser registry
RegistryKey rkCurrentUser = Registry.CurrentUser;
// Obtain the test key (read-only) and display it.
RegistryKey rkTest = rkCurrentUser.OpenSubKey("Remote");
foreach (string valueName in rkTest.GetSubKeyNames())
{
//Getting path to RDP/Citrix session ID
string RDPICApath = "";
if (rkTest.OpenSubKey(valueName) != null && rkTest.OpenSubKey(valueName) != null) { RDPICApath = rkTest.OpenSubKey(valueName).ToString(); }
Console.WriteLine("Getting CurrentUser ICA-RDP path from string = " + RDPICApath);
//List<string> RDPICAnumber = RDPICApath.Split('\\').ToList();
string RDPICAnumber = RDPICApath.Substring(RDPICApath.LastIndexOf('\\') + 1);
Console.WriteLine("Current User RDPICAnumber = " + RDPICAnumber);
//Getting reg local machine info for Citrix based on RDP/Citrix session ID "RDPICAnumber"
string regLocal = @"SOFTWARE\Citrix\Ica\Session\" + RDPICAnumber + @"\Connection";
RegistryKey localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey citrixKey = localKey.OpenSubKey(regLocal);
Console.WriteLine("Registry " + citrixKey + " Does Exist - going to get ClientType");
//getting clietAddress var from citrixKey
string clientType = "";
if (citrixKey != null && citrixKey.GetValue("clientType") != null)
{clientType = citrixKey.GetValue("ClientType").ToString();}
Console.WriteLine("Getting current user clientType from string = " + clientType);
}
rkTest.Close();
rkCurrentUser.Close();
Console.ReadLine();
}
}
}
你可以很容易地更換ClientProductID和clientType使用以下基準獲得ClientProductID information.
相關問題
- 1. 遠程桌面Web客戶端
- 2. 如何通過PHP和Javascript知道客戶端操作系統?
- 3. 遠程桌面客戶端與平移大型桌面?
- 4. 關於桌面客戶端
- 5. 作爲桌面客戶端部署Web應用程序(客戶端)
- 6. C#基於客戶端操作系統的分支代碼
- 7. 從SQL Server獲取客戶端操作系統用戶名
- 8. 遠程客戶端NotBoundException
- 9. 獲取遠程客戶端
- 10. Java遠程客戶端GUI
- 11. ClearCase遠程客戶端CLI?
- 12. 找到Web應用程序客戶端的操作系統
- 13. 雲端到設備的Http客戶端
- 14. 禁用遠程桌面客戶端快捷鍵
- 15. 遠程桌面服務activex客戶端控制IE 11
- 16. 如何獲取遠程桌面客戶端的IP地址?
- 17. 在遠程桌面和客戶端之間傳輸數據
- 18. 虛擬盒子客戶端操作系統不工作
- 19. Perforce恢復操作給客戶端未知。與P4客戶端命令
- 20. asp.net驗證客戶端或客戶端或服務器端
- 21. C++ IRC客戶端設計
- 22. 桌面客戶端的Web應用程序與通知?
- 23. Jena桌面SPARQL客戶端(TDB)?
- 24. 用於桌面的GCM客戶端
- 25. 非Windows OLAP桌面客戶端?
- 26. 最佳bugzilla桌面客戶端
- 27. 黑莓Messanger桌面客戶端
- 28. PHP獲取當前客戶端操作系統語言
- 29. 確定客戶端操作系統在PHP
- 30. 獲取客戶端的操作系統名稱
THX,但使用的是Windows服務器2016年,而不是Citrix服務器我真的。 –
你好。有關當前用戶連接的所有RDP環境變量的列表,請參閱以下命令。如果在操作系統和CLIENTNAME上查找操作系統類型或連接設備焦點,但在移動/ Windows RDP連接之間建議檢查打印輸出的任何差異。 (foreach)(DictionaryEntry de in Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)) { string log =「\ r \ n」+ de.Key +「=」+ de.Value; Console.WriteLine(「{0} = {1}」,de.Key,de.Value); }' – BrettKennard
你好,我檢查了所有的EnvironmentVariables。但我總是從WindowsServer會話中獲取信息,而不是從實際客戶端獲取信息。 OS = Windows_NT CLIENTNAME不適合我。 –