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); } } }