Beispiel #1
0
        //returns a list of all servers
        public ObservableCollection <Server> GetAllServers()
        {
            string queryString_getServes = "SELECT * FROM dbo.Server";

            SqlConnection sqlCon                  = ConnectDB();
            SqlCommand    command_getServes       = new SqlCommand(queryString_getServes, sqlCon);
            ObservableCollection <Server> servers = new ObservableCollection <Server>();

            sqlCon.Open();
            try
            {
                //get servers
                SqlDataReader reader = command_getServes.ExecuteReader();
                while (reader.Read())
                {
                    Server server = new Server();

                    server.Name   = reader[0].ToString();
                    server.Status = reader[1].ToString();
                    server.Ram    = Convert.ToInt64(reader[2]);
                    server.OsVer  = reader[3].ToString();

                    servers.Add(server);
                }
                //get networks cards
                for (int i = 0; i < servers.Count; i++)
                {
                    //find all netcards related to the current server
                    string     queryString_getNetCards = "SELECT * from dbo.netcard WHERE SFK_ID = '" + servers[i].Name + "'";
                    SqlCommand command_getNetCards     = new SqlCommand(queryString_getNetCards, sqlCon);
                    reader = command_getNetCards.ExecuteReader();

                    while (reader.Read())
                    {
                        //create a new netcard and add it to the server
                        NetWorkCard Card = new NetWorkCard();

                        Card.IpAddress  = reader[1].ToString();
                        Card.MacAddress = reader[2].ToString();
                        servers[i].NetWorkCard.Add(Card);
                    }
                }


                //get hdd's
                for (int i = 0; i < servers.Count; i++)
                {
                    //find all hdd's related to the current server
                    string     queryString_getHDDs = "SELECT * from dbo.hdd WHERE SFK_ID = '" + servers[i].Name + "'";
                    SqlCommand command_getHDDs     = new SqlCommand(queryString_getHDDs, sqlCon);
                    reader = command_getHDDs.ExecuteReader();

                    while (reader.Read())
                    {
                        //create a new hdd and add it to the server
                        Harddisk hdd = new Harddisk();

                        hdd.DriveLetter = reader[1].ToString();
                        hdd.MbSize      = (int)reader[2];
                        servers[i].Hdd.Add(hdd);
                    }

                    reader.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                sqlCon.Close();
            }

            return(servers);
        }
Beispiel #2
0
        public Server GetServer(string hostname)
        {
            Server        server       = new Server();
            SqlConnection myConnection = ConnectDB();

            // Provide the query string with a parameter placeholder.
            try
            {
                string     queryString = "SELECT * from dbo.server WHERE Name = '" + hostname + "'";
                SqlCommand command     = new SqlCommand(queryString, myConnection);
                myConnection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    server.Name   = reader[0].ToString();
                    server.Status = reader[1].ToString();
                    server.Ram    = Convert.ToInt64(reader[2]);
                    server.OsVer  = reader[3].ToString();
                }
                myConnection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            try
            {
                string     queryString = "SELECT * from dbo.netcard WHERE SFK_ID = '" + hostname + "'";
                SqlCommand command     = new SqlCommand(queryString, myConnection);
                myConnection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    NetWorkCard Card = new NetWorkCard();
                    Card.IpAddress  = reader[1].ToString();
                    Card.MacAddress = reader[2].ToString();
                    server.NetWorkCard.Add(Card);
                }
                myConnection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            try
            {
                string     queryString = "SELECT * from dbo.Hdd WHERE SFK_ID = '" + hostname + "'";
                SqlCommand command     = new SqlCommand(queryString, myConnection);
                myConnection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Harddisk Disk = new Harddisk();
                    Disk.DriveLetter = reader[1].ToString();
                    Disk.MbSize      = Convert.ToInt64(reader[2]);
                    server.Hdd.Add(Disk);
                }
                myConnection.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(server);
        }
Beispiel #3
0
        public Server WMICall(string servername)
        {
            // Create Server obj.
            Server            server  = new Server();
            ConnectionOptions options = new ConnectionOptions();

            // bruger den konto som programmet bliver kørt af.
            options.Impersonation = System.Management.ImpersonationLevel.Impersonate;
            // Viser hvor vi vil søge henne, dette er WMI root på servern
            ManagementScope scope = new ManagementScope("\\\\" + servername + "\\root\\cimv2", options);

            // Forbinder til server
            try
            {
                scope.Connect();
                //Query system for Operating System information
                ObjectQuery OSquery = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher   OSsearcher        = new ManagementObjectSearcher(scope, OSquery);
                ManagementObjectCollection OSqueryCollection = OSsearcher.Get();
                foreach (ManagementObject OS in OSqueryCollection)
                {
                    server.Name  = OS.GetPropertyValue("csname").ToString();
                    server.OsVer = OS.GetPropertyValue("Caption").ToString();
                }
                //Query system for Computer System information
                ObjectQuery CSquery = new ObjectQuery("SELECT * FROM Win32_ComputerSystem");
                ManagementObjectSearcher   CSsearcher        = new ManagementObjectSearcher(scope, CSquery);
                ManagementObjectCollection CSqueryCollection = CSsearcher.Get();
                foreach (ManagementObject CS in CSqueryCollection)
                {
                    server.Ram = (Convert.ToInt64(CS.GetPropertyValue("TotalPhysicalMemory"))) / 1048576;
                }
                //Query system for DiskDrive information
                ObjectQuery LDquery = new ObjectQuery("SELECT * FROM Win32_LogicalDisk");
                ManagementObjectSearcher   LDsearcher        = new ManagementObjectSearcher(scope, LDquery);
                ManagementObjectCollection LDqueryCollection = LDsearcher.Get();
                foreach (ManagementObject LD in LDqueryCollection)
                {
                    Harddisk harddisk = new Harddisk();
                    harddisk.DriveLetter = LD["DeviceID"].ToString();
                    harddisk.MbSize      = (Convert.ToInt64(LD["Size"])) / 1048576;
                    server.Hdd.Add(harddisk);
                }
                //Query system for network information
                ObjectQuery NCquery = new ObjectQuery("SELECT MacAddress,IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");
                ManagementObjectSearcher   NCsearcher        = new ManagementObjectSearcher(scope, NCquery);
                ManagementObjectCollection NCqueryCollection = NCsearcher.Get();
                foreach (ManagementObject NC in NCqueryCollection)
                {
                    NetWorkCard netWorkCard = new NetWorkCard();
                    int         nrIP        = ((System.Array)(NC["IPAddress"])).Length;
                    for (int c = 0; c < nrIP; c++)
                    {
                        netWorkCard.IpAddress  = ((Array)(NC["IPAddress"])).GetValue(c).ToString();
                        netWorkCard.MacAddress = NC["MacAddress"].ToString();
                    }
                    server.NetWorkCard.Add(netWorkCard);
                }
                // Return Server obj.
                return(server);
            }
            catch
            {
                Debug.WriteLine("WMI Error");
                return(null);
            }
        }