Get list of all DL’s with the Require Authentication flag disabled
1 2 3 |
Get-DistributionGroup -ResultSize Unlimited | ? {$_.RequireSenderAuthenticationEnabled -eq $false} | select Name,GroupType,PrimarySMTPAddress | Sort-Object -Property Name | Export-CSV c:\Exports\DL-NoAuth.csv -NoTypeInfo |
Get list of all users with Send-As permissions for all mailboxes
1 2 3 |
Get-Mailbox -ResultSize Unlimited | Get-ADPermission | where { ($_.ExtendedRights -like “*Send-As*”) -and ($_.IsInherited -eq $false) -and -not ($_.User -like “NT AUTHORITY\SELF”) } | Select Identity, User, Deny | Export-CSV -path C:\Exports\Send-As_Permission.csv -NoTypeInformation |
Get list of users with SendOnBehalf permissions for all mailboxes
1 2 3 |
Get-Mailbox -ResultSize unlimited | Select-Object Name, @{Name=’GrantedTo';Expression={[string]::join(“|”,($_.GrantSendOnBehalfTo))}} | Export-CSV -path C:\Exports\SendOnBehalf_Permissions.csv -NoTypeInformation |
Get list of users with Ful Access Permissions on a Mailbox
1 2 3 |
Get-Mailbox -ResultSize unlimited | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false} | Select Identity,User,@{Name='Access Rights';Expression={[string]::join(', ', $_.AccessRights)}} | Export-Csv -NoTypeInformation -path c:\Exports\mailboxpermissions.csv |
Apply Specific Mailbox policy to all users in a specific OU
1 2 3 |
Get-Mailbox -OrganizationalUnit “OU Name Here” -ResultSize unlimited | Set-Mailbox -ManagedFolderMailboxPolicy “Mailbox Policy Name” |
Hide Users from a specific OU from the GAL
1 2 3 4 5 6 7 |
$UsersToDisable = @(Get-Mailbox -OrganizationalUnit "OU Name Here") ForEach ($User in $UsersToDisable){ Set-Mailbox -HiddenFromAddressListsEnabled $True -Identity $User.samaccountname } Get-Mailbox -OrganizationalUnit "OU Name Here" -ResultSize unlimited | Set-Mailbox -HiddenFromAddressListsEnabled $True |
View Message Tracking Log Settings
1 2 3 |
Get-TransportServer | fl name, messagetrackinglogmaxage, messagetrackinglogpath |
Message Tracking Log Search across all servers (Examples)
1 2 3 |
Get-TransportServer | Get-MessageTrackingLog -Sender "email@domain.com" -resultsize unlimited | select timestamp,eventid,sender,recipients,messagesubject |
1 2 3 |
Get-TransportServer | Get-MessageTrackingLog -MessageSubject "test" -resultsize unlimited | Select {$_.Recipients}, {$_.RecipientStatus}, * |
1 2 3 |
Get-TransportServer | Get-MessageTrackingLog -Recipients:email@domain.com -resultsize unlimited |
1 2 3 |
Get-TransportServer | Invoke-Command {Get-MessageTrackingLog -MessageSubject "test" -resultsize unlimited} |
Get Distribution List Activity
1 2 3 |
Get-TransportServer | Get-MessageTrackingLog -EventId Expand -ResultSize Unlimited | Sort-Object RelatedRecipientAddress | Group-Object RelatedRecipientAddress |Sort-Object Name | Select-Object @{label="PrimarySmtpAddress";expression={$_.Name}}, Count | Export-CSV C:\Exports\DL-Activity.csv -NoTypeInfo |
Get Mailbox statistics for all users across all servers or specific server
1 2 3 |
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | where {$_.ObjectClass –eq “Mailbox”} | select-object alias,Displayname,ItemCount,StorageLimitStatus,Database, @{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}} | Export-CSV C:\Exports\MailboxStats.csv |
1 2 3 |
Get-MailboxStatistics -Server BN-SCL-MBX06 | where {$_.ObjectClass –eq “Mailbox”} | select-object alias,Displayname,ItemCount,StorageLimitStatus,Database, @{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}} | export-csv c:\report.csv |
Export/View Members of Distribution Group
1 2 3 |
Get-DistributionGroupMember -identity "<Name of DL>" -ResultSize Unlimited | Export-CSV C:\Exports\GroupMembers.csv -Encoding utf8 -NoTypeInfo |
1 2 3 |
Get-DistributionGroupMember -Identity ‘Distribution Group Name” | FL Name |
Get Room Mailbox Settings
1 2 3 |
Get-MailboxCalendarSettings "RoomMailboxName" | fl |
Allow/Remove permissions for another user other than Manager of DL to add/remove users
1 2 3 |
Add-ADPermission -Identity <name of distribution group> -User <name of user> -AccessRights WriteProperty -Properties "Member" |
1 2 3 |
Remove-ADPermission -Identity <name of distribution group> -User <name of user> -AccessRights WriteProperty -Properties ‘Member’ |
Export Mail to PST and remove exported mail from mailbox
1 2 3 |
Export-Mailbox -Identity <MailboxIdParameter> -StartDate "<Month/Day/Year>" -EndDate "<Month/Day/Year>" -PSTFolderPath <Path_Of_PST_Folder>\<File_Name>.pst –DeleteContent –confirm:$false |
Desc
1 2 3 |
code |