示例#1
0
 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));
     }
 }
示例#2
0
        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);
        }
示例#3
0
 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)));
     }
 }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
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);
        }
示例#7
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));
     }
 }