-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGetMailBoxPermissions2.ps1
50 lines (41 loc) · 2.1 KB
/
GetMailBoxPermissions2.ps1
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
$password="asdasdas"
$date = Get-Date -Format "ddMMyyyy-HHmm"
$output = '.\mailboxPermissions-' + $date + '.csv'
$newCSV = {} | Select "Mailbox", "User", "Permissions", "IsInherited", "Deny" | Export-Csv $output -NoTypeInformation
$csvFile = Import-CSV $output
Import-Module ExchangeOnlineManagement
$session = Connect-ExchangeOnline
$mailboxList = Get-Content "C:\Users\ricardo.lopes\OneDrive - Unipartner IT Services, S.A\Documents\Brisa\Script\MailBoxPermission\mailboxList.txt"
foreach ($mailbox in $mailboxList){
$listPermissions = Get-MailboxPermission -Identity $mailbox
$listSendAs = Get-RecipientPermission -Identity $mailbox
foreach ($permissions in $listPermissions){
if($permissions.User -notlike "NT AUTHORITY\SELF"){
$csvFile.Mailbox = $mailbox
$csvFile.User = $permissions.User
$csvFile.Permissions = $permissions.AccessRights
$csvFile.IsInherited = $permissions.IsInherited
$csvFIle.Deny = $permissions.Deny
Write-Host $permissions.Identity + $permissions.User + $permissions.AccessRights + $permissions.IsInherited
$csvFile | Export-Csv $output -Append -NoTypeInformation
}
}
foreach ($sendAsPermission in $listSendAs){
if($sendAsPermission.Trustee -notlike "NT AUTHORITY\SELF"){
$csvFile.Mailbox = $mailbox
$csvFile.User = $sendAsPermission.Trustee
$csvFile.Permissions = $sendAsPermission.AccessRights
$csvFile.IsInherited = $sendAsPermission.IsInherited
$action = 0
if($sendAsPermission.AccessControlType -like "Allow"){
$action = "False"
}else {
$action = "True"
}
$csvFile.Deny = $action
Write-Host $sendAsPermission.Identity + $sendAsPermission.Trustee + $sendAsPermission.AccessRights + $sendAsPermission.IsInherited + $sendAsPermission.AccessControlType + $action
$csvFile | Export-Csv $output -Append -NoTypeInformation
}
}
}
Remove-PSSession $session