Example #1
0
        public void LoadList()
        {
            lstComputers.Items.Clear();
            List <ComputerData> cdlst = Program.net.GetComputerList(Approved, Group);

            if (cdlst == null)
            {
                return;
            }
            foreach (ComputerData cd in cdlst)
            {
                ListViewItem lst = new ListViewItem(cd.Computername);
                lst.Tag        = cd;
                lst.ImageIndex = 2;
                lst.SubItems.Add(cd.GroupingPath);
                lst.SubItems.Add(cd.Comments);
                lst.SubItems.Add(cd.Approved == true ? "Approved" : "Not approved");
                lst.SubItems.Add(cd.OS);
                lst.SubItems.Add(cd.OSVersion);
                lst.SubItems.Add(Win10Version.GetWin10Version(cd.OSVersion));
                lst.SubItems.Add(cd.Is64Bit == true ? "64 bit" : "32 bit");
                lst.SubItems.Add(cd.OSSuite);
                lst.SubItems.Add(cd.Language);
                lst.SubItems.Add(cd.Make);
                lst.SubItems.Add(cd.LastUpdated.ToLongDateString() + " " + cd.LastUpdated.ToLongTimeString());
                lst.SubItems.Add(cd.ContractID);
                lst.SubItems.Add(cd.AgentVersion);
                lstComputers.Items.Add(lst);
            }
        }
Example #2
0
        public List <ReportingPaperElements> GetItems(string MachineID, DateTime?From, DateTime?To, int ReportingPaper)
        {
            List <ReportingPaperElements> lst = new List <ReportingPaperElements>();

            if (string.IsNullOrWhiteSpace(MachineID) == true)
            {
                ReportingPaperElements funnybasicinfo = new ReportingPaperElements();
                funnybasicinfo.AgentVersion        = "Fox SDC 950228180442";
                funnybasicinfo.BIOSBootType        = "Legacy";
                funnybasicinfo.LastUpdated         = new DateTime(1995, 3, 5, 19, 35, 21);
                funnybasicinfo.MachineID           = "8878FF7A-2506-4A63-B0F1-A0C28AFD6480";
                funnybasicinfo.MachineName         = "FOX-PC1-NT3";
                funnybasicinfo.OS                  = "Windows NT 3.51 Service Pack 5";
                funnybasicinfo.OSVersion           = "3.51.1057";
                funnybasicinfo.OSWin10Version      = "";
                funnybasicinfo.TotalPhysicalMemory = CommonUtilities.NiceSize(67108864);
                funnybasicinfo.UCID                = "F3489E4C92654D12A6EF6C4C2EAA4A5E";
                funnybasicinfo.VendorBIOS          = "Award BIOS 6";
                funnybasicinfo.VendorMake          = "Vulpes 486 PC";
                funnybasicinfo.ContractID          = "Company XXX Contract";

                lst.Add(new ReportingPaperElements());
                CopyBaseData(funnybasicinfo, lst[0]);
                lst[0].ID            = 10005;
                lst[0].ReportedDate  = new DateTime(1995, 3, 5, 18, 20, 54);
                lst[0].IconPicture   = Resources.Vulpes.ToBitmap();
                lst[0].StatusPicture = ReportingStatusPicture.GetPicture(ReportingStatusPictureEnum.Good);
                lst[0].Text          = "Reporting test ...\nNew line\n\nAnother line";

                lst.Add(new ReportingPaperElements());
                CopyBaseData(funnybasicinfo, lst[1]);
                lst[1].ID            = 10004;
                lst[1].ReportedDate  = new DateTime(1995, 3, 5, 18, 19, 12);
                lst[1].IconPicture   = Resources.EventLog.ToBitmap();
                lst[1].StatusPicture = ReportingStatusPicture.GetPicture(ReportingStatusPictureEnum.Info);
                lst[1].Text          = "The Event log service was started.";

                lst.Add(new ReportingPaperElements());
                CopyBaseData(funnybasicinfo, lst[2]);
                lst[2].ID            = 10003;
                lst[2].ReportedDate  = new DateTime(1995, 3, 5, 18, 15, 35);
                lst[2].IconPicture   = Resources.EventLog.ToBitmap();
                lst[2].StatusPicture = ReportingStatusPicture.GetPicture(ReportingStatusPictureEnum.Stop);
                lst[2].Text          = "The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.";

                return(lst);
            }

            Settings.Default.Load();

            using (SQLLib sql = SQLTest.ConnectSQL("Fox SDC Server for Reporting"))
            {
                if (sql == null)
                {
                    return(lst);
                }

                //Get some ComputerInfo
                SqlDataReader dr = sql.ExecSQLReader("select * from ComputerAccounts Where MachineID=@m",
                                                     new SQLParam("@m", MachineID));
                if (dr.HasRows == false)
                {
                    dr.Close();
                    sql.CloseConnection();
                    return(lst);
                }

                dr.Read();
                ReportingPaperElements basicinfo = new ReportingPaperElements();
                basicinfo.AgentVersion        = Convert.ToString(dr["AgentVersion"]);
                basicinfo.BIOSBootType        = Convert.ToString(dr["BIOSType"]);
                basicinfo.LastUpdated         = SQLLib.GetDTUTC(dr["LastUpdated"]);
                basicinfo.MachineID           = Convert.ToString(dr["MachineID"]);
                basicinfo.MachineName         = Convert.ToString(dr["ComputerName"]);
                basicinfo.OS                  = Convert.ToString(dr["OSName"]);
                basicinfo.OSVersion           = Convert.ToString(dr["OSVerMaj"]) + "." + Convert.ToString(dr["OSVerMin"]) + "." + Convert.ToString(dr["OSVerBuild"]);
                basicinfo.OSWin10Version      = Win10Version.GetWin10Version(basicinfo.OSVersion);
                basicinfo.TotalPhysicalMemory = CommonUtilities.NiceSize(Convert.ToInt64(dr["TotalPhysicalMemory"]));
                basicinfo.UCID                = Convert.ToString(dr["UCID"]);
                basicinfo.VendorBIOS          = Convert.ToString(dr["BIOS"]);
                basicinfo.VendorMake          = Convert.ToString(dr["ComputerModel"]);
                basicinfo.ContractID          = Convert.ToString(dr["ContractID"]);
                dr.Close();

                string          Query     = "";
                List <SQLParam> SQLParams = new List <SQLParam>();
                switch ((ReportingFlagsPaper)ReportingPaper)
                {
                case ReportingFlagsPaper.UrgentAdmin:
                    Query = "Select * from Reporting where machineid=@mid and (Flags & @f1)!=0 AND (Flags & @f2)=0 order by Reported desc";
                    SQLParams.Add(new SQLParam("@mid", MachineID));
                    SQLParams.Add(new SQLParam("@f1", ReportingFlags.UrgentForAdmin));
                    SQLParams.Add(new SQLParam("@f2", ReportingFlags.UrgentAdminReported));
                    break;

                case ReportingFlagsPaper.UrgentClient:
                    Query = "Select * from Reporting where machineid=@mid and (Flags & @f1)!=0 AND (Flags & @f2)=0 order by Reported desc";
                    SQLParams.Add(new SQLParam("@mid", MachineID));
                    SQLParams.Add(new SQLParam("@f1", ReportingFlags.UrgentForClient));
                    SQLParams.Add(new SQLParam("@f2", ReportingFlags.UrgentClientReported));
                    break;

                case ReportingFlagsPaper.ReportAdmin:
                    Query = "Select * from Reporting where machineid=@mid and (Flags & @f1)!=0 AND (Flags & @f2)=0 order by Reported desc";
                    SQLParams.Add(new SQLParam("@mid", MachineID));
                    SQLParams.Add(new SQLParam("@f1", ReportingFlags.ReportToAdmin));
                    SQLParams.Add(new SQLParam("@f2", ReportingFlags.AdminReported));
                    break;

                case ReportingFlagsPaper.ReportClient:
                    Query = "Select * from Reporting where machineid=@mid and (Flags & @f1)!=0 AND (Flags & @f2)=0 order by Reported desc";
                    SQLParams.Add(new SQLParam("@mid", MachineID));
                    SQLParams.Add(new SQLParam("@f1", ReportingFlags.ReportToClient));
                    SQLParams.Add(new SQLParam("@f2", ReportingFlags.ClientReported));
                    break;

                case ReportingFlagsPaper.ReReport:
                    if (From == null && To == null)
                    {
                        Query = "Select * from Reporting where machineid=@mid order by Reported desc";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                    }
                    if (From != null && To == null)
                    {
                        Query = "Select * from Reporting where machineid=@mid AND Reported>=@d1 order by Reported desc";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@d1", From.Value));
                    }
                    if (From == null && To != null)
                    {
                        Query = "Select * from Reporting where machineid=@mid AND Reported<=@d1 order by Reported desc";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@d1", To.Value));
                    }
                    if (From != null && To != null)
                    {
                        Query = "Select * from Reporting where machineid=@mid and Reported between @d1 and @d2 order by Reported desc";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@d1", From.Value));
                        SQLParams.Add(new SQLParam("@d2", To.Value));
                    }
                    break;

                default:
                    return(lst);
                }

                List <Int64> ReportedIDs = new List <long>();

                dr = sql.ExecSQLReader(Query, SQLParams.ToArray());
                while (dr.Read())
                {
                    ReportingPaperElements r = new ReportingPaperElements();
                    CopyBaseData(basicinfo, r);
                    ReportedIDs.Add(Convert.ToInt64(dr["ID"]));
                    r.ID            = Convert.ToInt64(dr["ID"]);
                    r.Flags         = Convert.ToInt64(dr["Flags"]);
                    r.ReportingType = Convert.ToInt32(dr["Type"]);
                    r.ReportedDate  = SQLLib.GetDTUTC(dr["Reported"]);
                    r.StatusPicture = ReportingStatusPicture.GetPicture((int)((r.Flags & (Int64)ReportingFlags.IconFlags) >> (int)ReportingFlags.IconFlagsShift));
                    IReportingExplain explain = ReportingProcessor.FindExplainer(r.ReportingType);
                    if (explain != null)
                    {
                        r.Text        = explain.Explain(Convert.ToString(dr["Data"]));
                        r.IconPicture = explain.GetIcon();
                    }
                    else
                    {
                        r.Text        = "Missing module for Type=" + r.ReportingType.ToString() + "; Text=" + Convert.ToString(dr["Data"]);
                        r.IconPicture = Resources.Nix.ToBitmap();
                    }
                    lst.Add(r);
                }
                dr.Close();

                if (ReportedIDs.Count > 0 && (ReportingFlagsPaper)ReportingPaper != ReportingFlagsPaper.ReReport)
                {
                    string SQLIn = "";
                    foreach (Int64 i in ReportedIDs)
                    {
                        SQLIn += i.ToString() + ",";
                    }

                    if (SQLIn.EndsWith(",") == true)
                    {
                        SQLIn = SQLIn.Substring(0, SQLIn.Length - 1);
                    }

                    Query     = "";
                    SQLParams = new List <SQLParam>();

                    switch ((ReportingFlagsPaper)ReportingPaper)
                    {
                    case ReportingFlagsPaper.UrgentAdmin:
                        Query = "update Reporting set Flags = Flags | @f2 where machineid=@mid and Flags & @f1!=0 AND Flags & @f2=0";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@f1", ReportingFlags.UrgentForAdmin));
                        SQLParams.Add(new SQLParam("@f2", ReportingFlags.UrgentAdminReported));
                        break;

                    case ReportingFlagsPaper.UrgentClient:
                        Query = "update Reporting set Flags = Flags | @f2 where machineid=@mid and Flags & @f1!=0 AND Flags & @f2=0";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@f1", ReportingFlags.UrgentForClient));
                        SQLParams.Add(new SQLParam("@f2", ReportingFlags.UrgentClientReported));
                        break;

                    case ReportingFlagsPaper.ReportAdmin:
                        Query = "update Reporting set Flags = Flags | @f2 where machineid=@mid and Flags & @f1!=0 AND Flags & @f2=0";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@f1", ReportingFlags.ReportToAdmin));
                        SQLParams.Add(new SQLParam("@f2", ReportingFlags.AdminReported));
                        break;

                    case ReportingFlagsPaper.ReportClient:
                        Query = "update Reporting set Flags = Flags | @f2 where machineid=@mid and Flags & @f1!=0 AND Flags & @f2=0";
                        SQLParams.Add(new SQLParam("@mid", MachineID));
                        SQLParams.Add(new SQLParam("@f1", ReportingFlags.ReportToClient));
                        SQLParams.Add(new SQLParam("@f2", ReportingFlags.ClientReported));
                        break;
                    }

                    sql.ExecSQLNQ(Query, SQLParams.ToArray());
                }
            }
            return(lst);
        }
Example #3
0
        private void frmComputerInfo_Load(object sender, EventArgs e)
        {
            data             = Program.net.GetComputerDetail(MID);
            lblPing.Text     = "Status pending ..";
            lblWUReboot.Text = lblWUStatus.Text = "";
            picStatus.Image  = Resources.Help.ToBitmap();
            if (data == null)
            {
                this.Text = "Computer Information: ???";
                return;
            }

            Program.LoadImageList(TVImgList);

            PComputerData transformeddata = new PComputerData();

            ClassCopy.CopyClassData(data, transformeddata);
            ((PComputerData)transformeddata).IOSVerType         = ((ComputerData)data).OSVerType;
            ((PComputerData)transformeddata).OSWin10Edition     = Win10Version.GetWin10Version(transformeddata.OSVersion);
            ((PComputerData)transformeddata).BMeteredConnection = data.IsMeteredConnection;
            ((PComputerData)transformeddata).RunningInWindowsPE = data.RunningInWindowsPE;

            if (Settings.Default.ShowActiveUsers == false)
            {
                transformeddata.OneUser = "******";
            }

            PropertiesG.SelectedObject = transformeddata;

            this.Text = "Computer information: " + data.Computername;

#if !ENABLECHAT
            tabControl1.TabPages.Remove(tabPage6);
#endif

            AddTab(new ctlServices(MID), "Services");
            AddTab(new ctlEventLogs(MID), "Event Log");
            AddTab(new ctlAddRemovePrograms(MID), "Programs");
            AddTab(new ctlListDiskData(MID), "Disk");
            AddTab(new ctlListNetworkConfig(MID), "Network");
            AddTab(new ctlDevices(MID), "Devices");
            AddTab(new ctlDevicesFilter(MID), "Filter Drivers");
            AddTab(new ctlBitlockerRK(MID), "Bitlocker Recovery");
            AddTab(new ctlWindowsLicense(MID), "Windows License");
            AddTab(new ctlFileTransfer(MID), "File transfer");
            AddTab(new ctlStartupItems(MID), "Startup Items");
            AddTab(new ctlSMARTInfo(MID), "SMART Data");
            AddTab(new ctlSimpleTasks(MID), "Simple Tasks");

            timerPinger_Tick(null, null);

            lstRemotePort.Items.Add("HTTP");
            lstRemotePort.Items.Add("RDP");
            lstRemotePort.Items.Add("HTTPS");
            lstRemotePort.Items.Add("SSH");
            lstRemotePort.Items.Add("SMTP");
            lstRemotePort.Items.Add("POP3");
            lstRemotePort.Items.Add("IMAP");
            lstRemotePort.Items.Add("TELNET");

            LoadPolicies();
        }