User Tools

Site Tools


fix_scripts

This is an old revision of the document!


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki