fix_scripts
This is an old revision of the document!
Table of Contents
Fix Scripts
SLAs
// P1 Resolution - 2 hour|26b995b51beb74504b8aa756624bcb75|P1 Resolution - 1 hour (Service Desk)|ce81803e1b70c914c4fec913604bcb1e| // P1 Response - 15 mins|a31795b51beb74504b8aa756624bcb59|P1 Response - 15 mins (Service Desk)|725188fa1b70c914c4fec913604bcbf0| // P2 Resolution - 4 hours|55ea15b91beb74504b8aa756624bcbec|P2 Resolution - 8 hours (Service Desk)|4031c4fa1b70c914c4fec913604bcbe1| // P2 Response - 1 hour |7a3a51791beb74504b8aa756624bcba9|P2 Response - 1 hour (Service Desk)|3a0180fa1b70c914c4fec913604bcbdf| // P3 Resolution - 18 hours|d45b59b91beb74504b8aa756624bcb27|P3 Resolution - 1 day (Service Desk)|25e00cba1b70c914c4fec913604bcbc0| // P3 Response - 4 hours |621b91791beb74504b8aa756624bcbaa|P3 Response - 4 hours (Service Desk)|1cc00cba1b70c914c4fec913604bcb04| // P4 Resolution - 45 hours|9fdbd5791beb74504b8aa756624bcba7|P4 Resolution - 2 days (Service Desk)|aa90c4ba1b70c914c4fec913604bcbfc| // P4 Response - 9 hours |31ab51f91beb74504b8aa756624bcb82|P4 Response - 8 hours (Service Desk)|8660c0ba1b70c914c4fec913604bcb01| // P5 Resolution - 90 hours|4b9a4e5b1b22415099e265b1604bcba2|Apply New| | // P5 Response - 18 hours|0a1c15f91beb74504b8aa756624bcb92|P5 Response - 40 hours (Service Desk)|1d9e77e61b70c914c4fec913604bcbd3| var seek = 'P2 Response - 1 hour (Service Desk)'; var seekSysID = '3a0180fa1b70c914c4fec913604bcbdf'; var replace = 'P2 Response - 1 hour'; var replaceSysID = '7a3a51791beb74504b8aa756624bcba9'; var gr = new GlideRecord('task_sla'); gr.addQuery('sla', seekSysID); //gr.setLimit(10); gr.query(); gs.print(gr.getRowCount()); var incident = ''; while (gr.next()) { incident = gr.task; var inc = new GlideRecord('task_sla'); inc.addQuery('task', incident); inc.query(); // Replace SLA's for incidents with only a single response and resolution SLA applied if (inc.getRowCount() <= 2) { gs.print(gr.task.number); var check = []; while (inc.next()) { check.push(inc.sla.name.getDisplayValue()); } gs.print(check.join(',')); gs.print(check.indexOf(seek)); gs.print(check.indexOf(replace)); gs.print ("Replace " + seek + " with " + replace); gr.sla = replaceSysID; gr.setWorkFlow(false); gr.update(); } // Replace SLA's for incidents with more than a single response and resolution SLA applied if (inc.getRowCount() > 2) { gs.print(gr.task.number); var check = []; while (inc.next()) { check.push(inc.sla.name.getDisplayValue()); } gs.print(check.join(',')); gs.print(check.indexOf(seek)); gs.print(check.indexOf(replace)); if ((check.indexOf(seek) >= 0) && (check.indexOf(replace) < 0)) { gs.print ("Replace " + seek + " with " + replace); gr.sla = replaceSysID; gr.setWorkFlow(false); gr.update(); } else if ((check.indexOf(seek) >= 0) && (check.indexOf(replace) >= 0)) { gs.print("Delete " + seek); gr.deleteRecord(); } } }
01 Test Impersonate Group
//JWJ0215 2024 // Query the Group Members [sys_user_grmember] table to find members of the specified group ClearUserLog(); var groupSysId = '9360165397e886103e1432890353af54'; // test_impersonator group var grMember = new GlideRecord('sys_user_grmember'); grMember.addQuery('group', groupSysId); grMember.query(); // Log the user's Sys ID being removed - for audit purposes while (grMember.next()) { UserLog('Post Upgrade 1: Removing user with Sys ID: ' + grMember.user + ' from group: ' + groupSysId); // was gs.info // Delete the group member record grMember.deleteRecord();} gs.info('Post Upgrade 1 complete: -All members have been removed from the group, test_impersonator, with Sys ID: ' + groupSysId); // was gs.info
02 Email Outbound
//JWJ0215 2024 ClearUserLog(); gs.setSession.setStrictQuery(true); var emailsmpt = new GlideRecord ('sys_properties'); //name var emailsmpt.addEncodedQuery('name=glide.email.smtp.active', 'false'); //add encoded filter emailsmpt.query(); UserLog("I have found the " + emailsmpt + " that needs to be changed"); //log messge while (emailsmpt.next()){ // set while with gr UserLog("changing " + emailsmpt + " value to true"); //log message emailsmpt.value = 'true'; //set emailsmpt.update(); //update UserLog('Post Upgrade 2 ' + emailsmpt.value); //log } gs.info('Post Upgrade 2 complete '); // was gs.info
03 Cancel Scheduled Reports
//JWJ0215 2024 // 3. Cancel all scheduled reports ***sysauto_report.LIST*** set to active=false and run_type=5 on_demand ClearUserLog(); gs.setSession.setStrictQuery(true); var schedreport = new GlideRecord ('sysauto_report'); schedreport.addEncodedQuery(active=true); schedreport.query(); UserLog("found " + schedreport.getRowCount() + " reports to update."); while (schedreport.next()){ UserLog("changing " + schedreport + " records to active-false."); schedreport.active = 'false'; schedreport.update(); UserLog('Post Upgrade 3 complete' + schedreport); } gs.info('Post Upgrade 3 complete '); // was gs.info
04 Cancel CMDB Jobs
//JWJ0215 2024 // 4. Cancel all CMDB Schedules //cert_task.LIST first state=7 for cancelled ClearUserLog(); gs.setSession.setStrictQuery(true); var schedcmdb = new GlideRecord ('cert_task'); schedcmdb.addEncodedQuery(active=true); schedcmdb.query(); UserLog("found " + schedcmdb.getRowCount() + " reports to update."); while (schedcmdb.next()){ UserLog("changing " + schedcmdb + " records to active-false."); schedcmdb.active = 'false'; schedcmdb.update(); UserLog('Post Upgrade 4 complete: ' + schedcmdb); } gs.info('Post Upgrade 4 complete '); // was gs.info
05 Cert Scheduled List
//JWJ0215 2024 //5. cert_schedule.LIST second run_type=5 on_demand ClearUserLog(); gs.setSession.setStrictQuery(true); var schedcert = new GlideRecord ('cert_schedule'); schedcert.addEncodedQuery('nameISNOTEMPTY^run_type!=on_demand'); schedcert.query(); UserLog("found " + schedcert.getRowCount() + " reports to update."); while (schedcert.next()){ UserLog("changing " + schedcert + " records to ON Demand."); schedcert.run_type = 'on_demand'; schedcert.update(); UserLog('Post Upgrade 5 complete: ' + schedcert); } gs.info('Post Upgrade 5 complete '); // was gs.info
06 Scheduled Data Collection
//JWJ0215 2024 // 6. Cancel all 'Scheduled Data Collection' Jobs ***sysauto_pa.LIST*** run_type=5 on_demand ClearUserLog(); gs.setSession.setStrictQuery(true); var schedreport = new GlideRecord ('sysauto_report'); schedreport.addEncodedQuery(active=true); schedreport.query(); UserLog("found " + schedreport.getRowCount() + " reports to update."); while (schedreport.next()){ UserLog("changing " + schedreport + " records to active-false."); schedreport.active = 'false'; schedreport.update(); UserLog('Post Upgrade 6 complete: ' + schedreport); } gs.info('Post Upgrade 6 complete '); // was gs.info
07 Cancel Data Mgmt
// 7. Set all Data Management Tasks to 'Cancelled'... // JWJ 03.13.24 ClearUserLog(); UserLog("1. Starting 'data-management' script", "DATA-MANAGEMENT"); gs.setSession.setStrictQuery(true); // --use a GlideRecord against the data management table **** our variable is 'grcmdbtask' var grcmdbtask = new GlideRecord('cmdb_data_management_task'); // --create the query grcmdbtask.addEncodedQuery('state=1^stateNOT IN3,4,7,8'); // --call the query grcmdbtask.query(); UserLog("2. found " + grcmdbtask.getRowCount() + " records to update.", "DATA-MANAGEMENT"); while (grcmdbtask.next()) { // --flip the state over UserLog("3. changing: " + grcmdbtask.number + " to CANCELLED.", "DATA-MANAGEMENT"); //grcmdbtask.getValue('cmdb_data_management_task'); //grcmdbtask.getValue(grcmdbtask.sys_id); //UserLog(grcmdbtask.number); grcmdbtask.state = 'cancelled'; grcmdbtask.update(); } UserLog("Post Upgrade 7 complete: ", "DATA-MANAGEMENT"); gs.info('Post Upgrade 7 complete '); // was gs.info
08 SAM Killer
// 8. Set all SAM jobs to cancelled //JWJ0215 SAM KILLER sys_trigger ClearUserLog(); gs.setSession.setStrictQuery(true); var skreport = new GlideRecord ('sys_trigger'); //name var skreport.addEncodedQuery("nameLIKESAM -^trigger_typeISNOTEMPTY"); //add encoded filter skreport.query(); UserLog("found " + skreport.getRowCount() + " records to update."); //log messge while (skreport.next()){ // set while with gr UserLog("changing " + skreport + " records to disabled."); //log message skreport.trigger_type='2'; //set skreport.update(); //update UserLog('Post Upgrade 8 complete: ' + skreport); //log } gs.info('Post Upgrade 8 complete '); // was gs.info
09 Data Collectors-On Demand
//Cancel all Scheduled Data Collectors -Set to On Demand // JWJ0215 07.02.24 ClearUserLog(); gs.setSession.setStrictQuery(true); var dcollector = new GlideRecord ('sysauto_pa'); dcollector.addEncodedQuery(active=true); dcollector.addEncodedQuery(run='On Demand'); dcollector.query(); UserLog("found " + dcollector.getRowCount() + " data collectors to update."); while (dcollector.next()){ UserLog("changing " + dcollector.sys_name + " records to active=false."); dcollector.active = 'false'; dcollector.run = 'On Demand'; dcollector.update(); UserLog('Data Colectors set to Active=false ' + dcollector.sys_name); } gs.info('Post Upgrade 9 Complete ');
10 LDAP Active-False
//JWJ0215 2024 //10. Set all LDAP OU DEFINITIONS to Active=false ClearUserLog(); gs.setSession.setStrictQuery(true); var ldapdef = new GlideRecord ('ldap_ou_config'); ldapdef.addEncodedQuery(active=true); ldapdef.query(); UserLog("Found " + ldapdef.getRowCount() + " LDAP Definitions to update."); while (ldapdef.next()) { gs.info("changing " + ldapdef + records to active=false."); ldapdef.active = 'false'; ldapdef.update(); UserLog("Post Upgrade 10 complete" + ldapdef); } gs.info('Post Upgrade 10 complete ');
11 Turn off LDAP
//JWJ0215 2024 //11. Set all LDAP Server to Active=false ClearUserLog(); gs.setSession.setStrictQuery(true); var ldapserv = new GlideRecord ('ldap_server_url'); ldapserv.addEncodedQuery(active=true); ldapserv.query(); UserLog("Found " + ldapserv.getRowCount() + " LDAP Server to update."); while (ldapserv.next()) { gs.info("changing " + ldapserv + records to active=false."); ldapserv.active = 'false'; ldapserv.update(); UserLog("Post Upgrade 10 complete" + ldapserv); } gs.info('Post Upgrade 10 complete ');
12 ECC Queue
//JWJ0215 2024 //Post upgrade 12 to clear all ECC_Queue tables per KB0547597 // https://thedacaredev.service-now.com/nav_to.do?uri=%2Fsys_db_object_list.do%3Fsysparm_query%3Dsys_update_nameISNOTEMPTY%5ElabelLIKEqueue%26sysparm_first_row%3D1%26sysparm_view%3D%26sysparm_choice_query_raw%3D%26sysparm_list_header_search%3Dtrue // filter by *queue 7 tables ecc_queue0000-0006 ClearUserLog(); var ecc = new GlideRecord('ecc_queue'); ecc.deleteMultiple(); UserLog('Post Upgrade 12: All ECC_queue tables are clear' + ecc.getRowCount()); gs.info('Post Upgrade 12 Complete ' + ecc.getRowCount());
SLAs
SLAs
SLAs
SLAs
SLAs
fix_scripts.1737552142.txt.gz · Last modified: 01/22/2025 05:22 by johnsonjohn