From f3d28f35decdf2357f56e50355ab9d93c0efe34e Mon Sep 17 00:00:00 2001 From: chaitanyalal18 <42643661+chaitanyalal18@users.noreply.github.com> Date: Mon, 13 Oct 2025 15:53:51 +0530 Subject: [PATCH 1/3] Create README.md Access analysis utility information --- .../Background Scripts/Access Analysis Utility/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Server-Side Components/Background Scripts/Access Analysis Utility/README.md diff --git a/Server-Side Components/Background Scripts/Access Analysis Utility/README.md b/Server-Side Components/Background Scripts/Access Analysis Utility/README.md new file mode 100644 index 0000000000..00cc8f4b28 --- /dev/null +++ b/Server-Side Components/Background Scripts/Access Analysis Utility/README.md @@ -0,0 +1,5 @@ +In scenarios where it's necessary to verify Read/Write access for multiple users across various work items (such as Incidents, Tasks, etc.), traditional methods like impersonating individual users or using the Access Analyzer plugin can be time-consuming. This utility streamlines the process by enabling simultaneous access analysis for multiple users by impersonating them and can be executed efficiently via a background script. + +userId- Array containing the user id of personas whose access to be analyzed. + +workItems- Work items extending the 'task' table. From 6ec36a62a8dedf96031353f0be02acbec9c46e3c Mon Sep 17 00:00:00 2001 From: chaitanyalal18 <42643661+chaitanyalal18@users.noreply.github.com> Date: Mon, 13 Oct 2025 16:11:16 +0530 Subject: [PATCH 2/3] Create Access alaysis script.js Access report generation report script --- .../Access alaysis script.js | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Server-Side Components/Background Scripts/Access Analysis Utility/Access alaysis script.js diff --git a/Server-Side Components/Background Scripts/Access Analysis Utility/Access alaysis script.js b/Server-Side Components/Background Scripts/Access Analysis Utility/Access alaysis script.js new file mode 100644 index 0000000000..a208b08d30 --- /dev/null +++ b/Server-Side Components/Background Scripts/Access Analysis Utility/Access alaysis script.js @@ -0,0 +1,37 @@ +var userId = ['abel.tuter', 'abraham.lincoln']; //example +var workItems = ['INC0009009', 'INC0009005']; +/* Beginning of function*/ + +var gi = GlideImpersonate(); +var currUser = gs.getUserID(); + +// If the logged in user doesn't have impersonating roles. +if (!gi.canImpersonate(currUser)) { + gs.info("You don't have access to impersonate"); +} +for (var id in userId) { + var userGr = new GlideRecord('sys_user'); + userGr.addQuery('user_name', userId[id]); + userGr.query(); + if (!userGr.hasNext()) { + // If the user id mentioned is incorrect + gs.print("Cannot find user from user id " + user[id] + ". Please Validate the user id"); + } else if (userGr.active == 'false') { + //If the persona is inactive + gs.print(id + " is inactve."); + } else { + gi.impersonate(userGr.sys_id); + // Analysis report + gs.print("Access result for " + gs.getUserDisplayName + ":"); + for (var item in workItems){ + var taskGr = new GlideRecord('task'); + taskGr.addQuery('number', workItems[item]); + taskGr.query(); + gs.print(workItems[item] + " Read: " + taskGr.canRead() + ", Write: " + taskGr.canWrite()); + } + + } + +} +// End impersonation. Impersonate back to logged in user +gi.impersonate(currUser); From 531332c2fad766b711fd74da609abd73e80db5c7 Mon Sep 17 00:00:00 2001 From: chaitanyalal18 <42643661+chaitanyalal18@users.noreply.github.com> Date: Mon, 13 Oct 2025 16:12:16 +0530 Subject: [PATCH 3/3] Generated report sample --- .../Access report example.png | Bin 0 -> 11491 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Server-Side Components/Background Scripts/Access Analysis Utility/Access report example.png diff --git a/Server-Side Components/Background Scripts/Access Analysis Utility/Access report example.png b/Server-Side Components/Background Scripts/Access Analysis Utility/Access report example.png new file mode 100644 index 0000000000000000000000000000000000000000..53e847344b4d68edb5d9fb4502592950bee50496 GIT binary patch literal 11491 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 L)nqE9%me=qRM=>h literal 0 HcmV?d00001