コード例 #1
0
        public void Check()
        {
            try
            {
                var builder    = new StringBuilder();
                var domainName = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
                if (string.IsNullOrWhiteSpace(domainName))
                {
                    Message = "\tNot domain joined";
                    return;
                }

                ComputerPrincipal principal = ComputerPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain, domainName), Dns.GetHostName());
                foreach (GroupPrincipal group in principal.GetGroups())
                {
                    builder.AppendLine(string.Format("\t{0}", group));
                }

                Message = builder.ToString();
            }
            catch
            {
                Message = "\tCheck failed [*]";
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: byanks/Service-Desk-Tool
        //Device's group membership
        public void DeviceGroupMembership()
        {
            string            deviceName = DeviceAssetNo.Text;
            string            loginPwd   = textBox1.Text;
            PrincipalContext  ctx        = new PrincipalContext(ContextType.Domain, domain, loginUser, loginPwd);
            ComputerPrincipal device     = ComputerPrincipal.FindByIdentity(ctx, deviceName);

            ComputerGroupListBox.Items.Clear();
            foreach (var group in device.GetGroups())
            {
                ComputerGroupListBox.Items.Add(group.Name);
            }
        }
コード例 #3
0
        /// <summary>
        /// Récupère la liste des groupes pour une machine.
        /// </summary>
        /// <param name="machineName"></param>
        /// <returns></returns>
        public IEnumerable <string> GetComputerGroupes(string machineName)
        {
            IEnumerable <Principal> retourGroups = null;

            try
            {
                ComputerPrincipal computer = GetComputer(machineName);

                if (computer != null)
                {
                    var tempGroups = computer.GetGroups();
                    retourGroups = tempGroups.Select(x => x).ToList();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(retourGroups?.Select(x => x.Name).ToList());
        }
コード例 #4
0
ファイル: dLibAd.cs プロジェクト: ddmunhoz/Seeker
        public static List <adGroups> adComputerGroups(PrincipalContext ctx, string adComputer)
        {
            List <adGroups>   lstADGroups = new List <adGroups>();
            ComputerPrincipal comp        = ComputerPrincipal.FindByIdentity(ctx, adComputer);

            if (comp != null)
            {
                PrincipalSearchResult <Principal> groups = comp.GetGroups();
                foreach (Principal p in groups)
                {
                    adGroups adGroup = new adGroups();
                    if (p is GroupPrincipal)
                    {
                        adGroup.Name = p.Name;
                        adGroup.DN   = p.DistinguishedName;
                        lstADGroups.Add(adGroup);
                    }
                }
            }
            return(lstADGroups);
        }
コード例 #5
0
        /// <summary>
        /// Information about PC
        /// </summary>
        public async void PCinfo()
        {
            var pingCheck = await Ping();

            if (pingCheck)
            {
                string address = _mainWindow.pcTextBox.Text;
                _mainWindow.pcProgressBar.Visibility = Visibility.Visible;

                try
                {
                    IPAddress[] ip = await Task.Run(() =>
                    {
                        IPHostEntry hostname = Dns.GetHostEntry(address);
                        return(hostname.AddressList);
                    });

                    _mainWindow.pcIpTextBox.Text = ip[0].ToString();
                }
                catch (Exception e)
                {
                    _mainWindow.pcIpTextBox.Text         = "Brak danych";
                    _mainWindow.popupText.Text           = e.Message;
                    _mainWindow.mainPopupBox.IsPopupOpen = true;
                }

                ManagementScope Scope;
                Scope = new ManagementScope(string.Format("\\\\{0}\\root\\CIMV2", _mainWindow.pcTextBox.Text), null);
                Scope.Connect();

                if (Scope != null)
                {
                    try
                    {
                        ObjectQuery Query1 = new ObjectQuery("Select * From Win32_NetworkAdapterConfiguration where IPEnabled = 1");
                        ManagementObjectSearcher Searcher1 = new ManagementObjectSearcher(Scope, Query1);
                        foreach (ManagementObject WmiObject in Searcher1.Get())
                        {
                            _mainWindow.pcMacTextBox.Text = WmiObject["MacAddress"].ToString();
                        }
                    }
                    catch (Exception e1)
                    {
                        _mainWindow.pcMacTextBox.Text        = "Brak danych";
                        _mainWindow.popupText.Text           = e1.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }

                    try
                    {
                        ObjectQuery Query2 = new ObjectQuery("Select * From Win32_BIOS");
                        ManagementObjectSearcher Searcher2 = new ManagementObjectSearcher(Scope, Query2);
                        foreach (ManagementObject WmiObject in Searcher2.Get())
                        {
                            _mainWindow.pcSerialTextBox.Text = (WmiObject["SerialNumber"].ToString());
                        }
                    }
                    catch (Exception e2)
                    {
                        _mainWindow.pcSerialTextBox.Text     = "Brak danych";
                        _mainWindow.popupText.Text           = e2.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }

                    try
                    {
                        ObjectQuery Query3 = new ObjectQuery("Select * From Win32_LogicalDisk where DeviceID = 'C:'");
                        ManagementObjectSearcher Searcher3 = new ManagementObjectSearcher(Scope, Query3);
                        foreach (ManagementObject WmiObject in Searcher3.Get())
                        {
                            ulong miejsce = ulong.Parse(WmiObject["FreeSpace"].ToString());
                            ulong wolne   = (miejsce / (1024 * 1024 * 1024));
                            _mainWindow.pcSpaceTextBox.Text = wolne + " GB".ToString();
                        }
                    }
                    catch (Exception e3)
                    {
                        _mainWindow.pcSpaceTextBox.Text      = "Brak danych";
                        _mainWindow.popupText.Text           = e3.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }

                    try
                    {
                        ObjectQuery Query4 = new ObjectQuery("Select * from Win32_ComputerSystem");
                        ManagementObjectSearcher Searcher4 = new ManagementObjectSearcher(Scope, Query4);
                        foreach (ManagementObject WmiObject in Searcher4.Get())
                        {
                            var userLogged = WmiObject["UserName"].ToString();
                            _mainWindow.pcNetbiosTextBox.Text = WmiObject["Name"].ToString();
                            if (string.IsNullOrWhiteSpace(userLogged))
                            {
                                _mainWindow.pcUserLoggedTextBox.Text = "Nikt nie jest zalogowany na stacji";
                            }
                            else
                            {
                                _mainWindow.pcUserLoggedTextBox.Text = userLogged.Substring(userLogged.IndexOf("\\") + 1);
                            }
                        }
                    }
                    catch (Exception e4)
                    {
                        _mainWindow.pcUserLoggedTextBox.Text = "Brak danych";
                        _mainWindow.popupText.Text           = e4.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }

                    try
                    {
                        ObjectQuery Query5 = new ObjectQuery("Select * from Win32_OperatingSystem");
                        ManagementObjectSearcher Searcher5 = new ManagementObjectSearcher(Scope, Query5);
                        foreach (ManagementObject WmiObject in Searcher5.Get())
                        {
                            string os        = WmiObject["Caption"].ToString();
                            string osversion = WmiObject["Version"].ToString();
                            _mainWindow.pcSystem.Text = os;

                            if (string.IsNullOrWhiteSpace(osversion))
                            {
                                _mainWindow.pcSystemVersion.Text = "Brak informacji";
                            }
                            else if (osversion.Contains("10.0.10240"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.10240 - 1507";
                            }
                            else if (osversion.Contains("10.0.10586"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.10586 - 1511";
                            }
                            else if (osversion.Contains("10.0.14393"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.14393 - 1607";
                            }
                            else if (osversion.Contains("10.0.15063"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.15063 - 1703";
                            }
                            else if (osversion.Contains("10.0.16299"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.16299 - 1709";
                            }
                            else if (osversion.Contains("10.0.17134"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.17134 - 1803";
                            }
                            else if (osversion.Contains("10.0.17763"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.17763 - 1809";
                            }
                            else if (osversion.Contains("10.0.18362"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.18362 - 1903";
                            }
                            else if (osversion.Contains("10.0.18363"))
                            {
                                _mainWindow.pcSystemVersion.Text = "10.0.18363 - 1909";
                            }
                        }
                    }
                    catch (Exception e5)
                    {
                        _mainWindow.pcSystemVersion.Text     = "Brak danych";
                        _mainWindow.popupText.Text           = e5.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }

                    try
                    {
                        ObjectQuery Query6 = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                        ManagementObjectSearcher Searcher6 = new ManagementObjectSearcher(Scope, Query6);
                        foreach (ManagementObject WmiObject in Searcher6.Get())
                        {
                            DateTime updateTime = ManagementDateTimeConverter.ToDateTime(WmiObject["InstallDate"].ToString());
                            _mainWindow.pcSystemVersionUpdate.Text = updateTime.ToString();
                        }
                    }
                    catch (Exception e6)
                    {
                        _mainWindow.pcSystemVersionUpdate.Text = "Brak danych";
                        _mainWindow.popupText.Text             = e6.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen   = true;
                    }

                    try
                    {
                        if (_mainWindow.pcNetbiosTextBox.Text == null || _mainWindow.pcNetbiosTextBox.Text.Contains("Brak danych"))
                        {
                            _mainWindow.popupText.Text           = "Brak możliwości sprawdzenia grup AD";
                            _mainWindow.mainPopupBox.IsPopupOpen = true;
                        }
                        else
                        {
                            var addressNetBios = _mainWindow.pcNetbiosTextBox.Text;

                            List <string> output = await Task.Run(() =>
                            {
                                var ctx = new PrincipalContext(ContextType.Domain);
                                ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(ctx, addressNetBios);

                                return(output = computer.GetGroups().Select(x => x.SamAccountName).ToList());
                            });

                            _mainWindow.joulex_CheckBox.IsChecked    = output.Contains("Comp-Joulex-wyjatki-GD");
                            _mainWindow.infonoc_CheckBox.IsChecked   = output.Contains("Komp-Info-Noc-GD");
                            _mainWindow.alterbrow_CheckBox.IsChecked = output.Contains("Comp-AlterBrow-GD");

                            if (output.Contains("ProxyBSTBlokada"))
                            {
                                _mainWindow.bstb_CheckBoxx.IsChecked = true; _mainWindow.bstb_CheckBoxx.Background = Brushes.Red;
                            }
                        }
                    }
                    catch (Exception e7)
                    {
                        _mainWindow.popupText.Text           = e7.Message;
                        _mainWindow.mainPopupBox.IsPopupOpen = true;
                    }
                    _mainWindow.pcProgressBar.Visibility = Visibility.Hidden;
                }
                else
                {
                    _mainWindow.popupText.Text           = "Błąd pobierania danych";
                    _mainWindow.mainPopupBox.IsPopupOpen = true;
                    _mainWindow.pcProgressBar.Visibility = Visibility.Hidden;
                }
            }
        }