forked from jsa2/AADAppAudit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
toCSV.js
61 lines (47 loc) · 1.57 KB
/
toCSV.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
const src = require('./material/servicePrincipalsUP.json')
const { argv } = require('yargs')
delim = argv?.delimitter
var top = `app${delim}appID${delim}aadRole${delim}permissions${delim}danglingRedirect${delim}appType${delim}credentials\r\n`
let breakC = 0
src.map(s => {
breakC++
const permissions = s?.permissionsReading?.map((d, count, r) => {
if (r?.length > count + 1) {
return `${d}\r\n`
} else {
return `${d}`
}
console.log(count)
}).join('')
const danglingRedirect = s?.danglingRedirect?.map((d, count, r) => {
if (r?.length > count + 1) {
return `${d?.fqdn}\r\n`
} else {
return `${d?.fqdn}`
}
console.log(count)
}).join('')
const admins = s?.isAdminAADrole?.map((d, count, r) => {
if (r?.length > count + 1) {
return `${d}\r\n`
} else {
return `${d}`
}
console.log(count)
}).join('')
const credentials = s?.allCredentials?.map((d, count, r) => {
if (r?.length > count + 1) {
return `${d}\r\n`
} else {
return `${d}`
}
console.log(count)
}).join('')
top += `${s?.displayName}${delim}${s?.appId}${delim}"${admins}"${delim}"${permissions}"${delim}"${danglingRedirect}"${delim}${s?.appType}${delim}"${credentials}"`;
if (breakC !== src?.length) {
top += '\r';
} else {
console.log()
}
})
require('fs').writeFileSync('output.csv', top)