Esempio n. 1
0
        protected void btnCleanup_Click(object sender, EventArgs e)
        {
            DataSet dsSearch = Search();

            if (dsSearch != null)
            {
                string strName   = dsSearch.Tables[0].Rows[0]["name"].ToString();
                string strSerial = dsSearch.Tables[0].Rows[0]["serial"].ToString();
                string strAsset  = dsSearch.Tables[0].Rows[0]["asset"].ToString();

                string strError = "";
                try
                {
                    bool boolMDT = false;
                    if (boolOSWindows)
                    {
                        oZeus.DeleteBuildName(strName);
                        boolMDT = true;
                    }
                    else if (boolOSLinux)
                    {
                        oZeus.DeleteBuildName(strName);
                        boolMDT = true;
                    }
                    else if (boolOSSolaris)
                    {
                        string   strSolarisMAC   = dsSearch.Tables[0].Rows[0]["macaddress"].ToString();
                        string[] strFlags        = dsSearch.Tables[0].Rows[0]["flags"].ToString().Split(new char[] { ',' });
                        string   strJumpstartCGI = "";
                        foreach (string strFlag in strFlags)
                        {
                            if (strFlag.StartsWith("BUILD_SERVER") && strFlag.Contains(":"))
                            {
                                strJumpstartCGI = strFlag.Substring(strFlag.IndexOf(":") + 1);
                                break;
                            }
                        }
                        if (strJumpstartCGI != "")
                        {
                            string strJumpstartURL = "http://" + strJumpstartCGI + "/cgi-bin/jumpstart.cgi?1010,MACADDR=" + strSolarisMAC + ",remove_client";
                            oLog.AddEvent(intID, strName, strSerial, "Beginning Client Removal on jumpstart URL = " + strJumpstartURL, LoggingType.Information);
                            if (RunCGI(strJumpstartURL) == true)
                            {
                                oLog.AddEvent(intID, strName, strSerial, "Success!! Client Removal on jumpstart URL = " + strJumpstartURL, LoggingType.Information);
                            }
                            else
                            {
                                strError = "REMOVE_CLIENT registration ~ Jumpstart URL = " + strJumpstartURL + " failed.";
                                oLog.AddEvent(intID, strName, strSerial, "Failure!! Client Removal on jumpstart URL = " + strJumpstartURL, LoggingType.Error);
                            }
                        }
                        else
                        {
                            strError = "Invalid Build Flags: " + dsSearch.Tables[0].Rows[0]["flags"].ToString();
                        }
                    }
                    else
                    {
                        // Other
                    }

                    if (boolMDT)
                    {
                        string strMACAddress1      = dsSearch.Tables[0].Rows[0]["macaddress"].ToString();
                        string strMACAddress2      = dsSearch.Tables[0].Rows[0]["macaddress2"].ToString();
                        string strRDPMDTWebService = dsSearch.Tables[0].Rows[0]["build_flags"].ToString();

                        System.Net.NetworkCredential oCredentials = new System.Net.NetworkCredential(oVariable.ADUser(), oVariable.ADPassword(), oVariable.Domain());
                        BuildSubmit oMDT = new BuildSubmit();
                        oMDT.Credentials = oCredentials;
                        oMDT.Url         = strRDPMDTWebService;
                        oLog.AddEvent(intID, strName, strSerial, "Cleaning MDT on " + strRDPMDTWebService + " (" + strName + ", " + strMACAddress1 + ", " + "ServerShare" + ")", LoggingType.Information);
                        oMDT.Cleanup(strName, strMACAddress1, "ServerShare");
                        if (strMACAddress2 != "")
                        {
                            oLog.AddEvent(intID, strName, strSerial, "Waiting 60 seconds for Active Directory to Sychronize...", LoggingType.Debug);
                            Thread.Sleep(60000); // Wait 60 seconds
                            oLog.AddEvent(intID, strName, strSerial, "Cleaning MDT on " + strRDPMDTWebService + " (" + strName + ", " + strMACAddress2 + ", " + "ServerShare" + ")", LoggingType.Information);
                            oMDT.Cleanup(strName, strMACAddress2, "ServerShare");
                        }
                        oLog.AddEvent(intID, strName, strSerial, "MDT has been cleared", LoggingType.Information);
                    }
                }
                catch (Exception ex)
                {
                    strError = ex.Message;
                }

                if (strError != "")
                {
                    panCleanup.Visible = true;
                    litCleanup.Text    = txtName.Text.ToUpper();
                }
                else
                {
                    AddError(strError, ulSearchError, panSearchError);
                }
            }
        }