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: by johnsonjohn
