//Получаем данных о трафике пользователя public Dictionary <string, object> getUserInfo(string GUID) { ITrafInspAdmin ti = connect(); if (ti == null) { return(null); } Dictionary <string, object> retValue = new Dictionary <string, object>(); try { string value = ti.GetList(APIListType.itUser, GUID, null, ConfigAttrLevelType.conf_AttrLevelState); XmlDocument doc = new XmlDocument(); doc.LoadXml(value); XmlAttributeCollection node = doc.ChildNodes.Item(1).FirstChild.Attributes; for (int i = 0; i < node.Count; i++) { retValue.Add(node.Item(i).Name, node.Item(i).Value); } } catch (Exception) { } ti = null; return(retValue); }
private ITrafInspAdmin connect() { try { Type t = Type.GetTypeFromProgID("TrafInsp.TrafInspAdmin", "10.100.3.4"); if (t == null) { Console.WriteLine("Unable to find the COM type TrafInsp.TrafInspAdmin"); return(null); } ; ITrafInspAdmin ti = (ITrafInspAdmin)Activator.CreateInstance(t); if (ti != null) { Console.WriteLine("Connect TI succeed."); } else { Console.WriteLine("Connect TI failed"); } Permissions perm = ti.QueryPermissions(); APIPermLogonErr v = perm.DoSharedLogon("ti", "qweqwe123", "C# robot"); switch (v) { case APIPermLogonErr.alsNone: Console.WriteLine("success access"); break; case APIPermLogonErr.alsSharedDis: Console.WriteLine("Bad shared permission"); break; case APIPermLogonErr.alsSharedBadPass: Console.WriteLine("Bad shared password"); break; case APIPermLogonErr.alsNTLMErr: Console.WriteLine("NTLM error permission"); break; case APIPermLogonErr.alsCheckWinErr: Console.WriteLine("Win error permission"); break; default: break; } return(ti); } catch (Exception e) { Console.WriteLine("Exception Traffic Inspector: " + e.ToString()); } return(null); }
//Возвращает GUID пользователя траффик инспектора public string getGuidByFIO(string FIO) { ITrafInspAdmin ti = connect(); if (ti == null) { return(null); } string GUID = null; try { GUID = ti.ItemGUIDByName(APIListType.itUser, FIO); } catch (Exception) { } ti = null; return(GUID); }
//Выдача трафика пользователю public bool addCash(string[] GUID, int cash) { ITrafInspAdmin ti = connect(); Dictionary <string, object> retValue = new Dictionary <string, object>(); try { string s = String.Join(",", GUID); ti.UserAddCash(APIListType.itUser, s, cash, "Scripts"); } catch (Exception) { ti = null; Console.WriteLine("Error add Cash"); return(false); } ti = null; return(true); }