Need to run background script to find duplicate CI names using a unique name on another column
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 06:18 AM
13 REPLIES 13
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 07:19 AM
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 07:20 AM
So it should only be returning the result if same CI showed up twice for two different discovery sources.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 07:27 AM
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 07:28 AM
var duparr = [];
var gr = new GlideRecord('cmdb_ci');
gr.addEncodedQuery('discovery_source=ServiceNow^ORdiscovery_source=OpenView^ORdiscovery_source=ServiceWatch')
gr.query();
while (gr.next()) {
var dup = new GlideRecord('cmdb_ci');
dup.addQuery('name', gr.name);
dup.addQuery('sys_id', '!=', gr.sys_id);
dup.query();
while (dup.next()) {
var obj = {};
obj.name = dup.name.toString();
obj.source = dup.discovery_source.getDisplayvalue();
duparr.push(obj);
}
}
var str = JSON.stringify(duparr);
var parsed = JSON.parse(str);
for (var i = 0; i < parsed.length; i++) {
gs.print("Name :" + parsed[i].name + " " + "Discovery Source :" + parsed[i].source);
}
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2022 07:31 AM
i added one more query
var duparr = [];
var gr = new GlideRecord('cmdb_ci');
gr.addEncodedQuery('discovery_source=ServiceNow^ORdiscovery_source=OpenView^ORdiscovery_source=ServiceWatch')
gr.query();
while (gr.next()) {
var dup = new GlideRecord('cmdb_ci');
dup.addQuery('name', gr.name);
dup.addQuery('sys_id', '!=', gr.sys_id);
dup.addQuery('discovery_source','!=', gr.discovery_source);
dup.query();
while (dup.next()) {
var obj = {};
obj.name = dup.name.toString();
obj.source = dup.discovery_source.getDisplayValue();
duparr.push(obj);
}
}
var parsed = JSON.stringify(duparr);
var str = JSON.parse(parsed)
for (var i = 0; i <str.length; i++) {
gs.print("Name :" +str[i].name + " " + "Discovery Source :" +str[i].source);
}