public void AsyncFill(PanelItemBase parent, ICollection <PanelItemBase> result) { if (parent == null) { throw new ArgumentNullException("parent"); } //result.Add(new PanelItemDoubleDot(parent)); foreach (var item in NetApiHelper.NetShareEnum(parent.Name)) { var si = new ShareInfo(item); //if (!Settings.Settings.Instance.ShowHiddenShares && SI.IsHidden) // continue; //if (!Settings.Settings.Instance.ShowPrinters && SI.IsPrinter) // continue; if (!ShowHiddenShares && si.IsHidden || !ShowPrinters && si.IsPrinter) { continue; } result.Add(new SharePanelItem(parent, si)); } // enum logged users foreach (var item in NetworkHelper.NetWorkstationUserEnumNames(parent.Name)) { var si = new ShareInfo(); si.Name = item; si.ShareType = 100; result.Add(new SharePanelItem(parent, si)); } }
public static IEnumerable <string> NetWorkstationUserEnumNames(string computer) { var users = new List <string>(); var domain = WorkstationInfo.FromComputer(null).LanGroup; foreach (var item in NetApiHelper.NetWkstaUserEnum(computer)) { if (item.username.EndsWith("$")) { continue; } string name; if (domain != item.logon_domain) { name = String.Format(CultureInfo.CurrentCulture, @"{0}\{1}", item.logon_domain.ToUpper(CultureInfo.CurrentCulture), item.username); } else { name = item.username; } if (!users.Contains(name)) { users.Add(name); } } users.Sort(); return(users); }
public void AsyncFill(PanelItemBase parent, ICollection <PanelItemBase> result) { // get domain list via OS api foreach (var item in NetApiHelper.NetServerEnum(null, SV_101_TYPES.SV_TYPE_DOMAIN_ENUM)) { result.Add(new DomainPanelItem(parent, ServerInfo.FromNetApi32(item))); } }
public void TestNetServerEnumDomains() { IEnumerable <SERVER_INFO_101> list = NetApiHelper.NetServerEnum(null, SV_101_TYPES.SV_TYPE_DOMAIN_ENUM); IEnumerator <SERVER_INFO_101> enumerator = list.GetEnumerator(); Assert.IsTrue(enumerator.MoveNext()); Assert.IsNotEmpty(enumerator.Current.name); }
public void TestNetShareEnum() { string comp = SystemInformation.ComputerName; IEnumerable <SHARE_INFO_1> list = NetApiHelper.NetShareEnum(comp); int count = 0; foreach (SHARE_INFO_1 item in list) { count++; } Assert.Greater(count, 0); }
public void TestNetServerEnumComps() { string domain = WorkstationInfo.FromComputer(null).LanGroup; IEnumerable <SERVER_INFO_101> list = NetApiHelper.NetServerEnum(domain, SV_101_TYPES.SV_TYPE_DOMAIN_ENUM); int count = 0; foreach (SERVER_INFO_101 item in list) { count++; } Assert.Greater(count, 0); }
public void AsyncFill(PanelItemBase parent, ICollection <PanelItemBase> result) { if (parent == null) { throw new ArgumentNullException("parent"); } //Thread.Sleep(5000); //result.Add(new PanelItemDoubleDot(parent)); // get server list via OS api foreach (var item in NetApiHelper.NetServerEnum(parent.Name, SV_101_TYPES.SV_TYPE_ALL)) { var si = ServerInfo.FromNetApi32(item); si.ResetUtcUpdated(); result.Add(new ComputerPanelItem(parent, si)); } }