Skip to content

Scripts to help with Microsoft 365 for IT Professionals

License

Notifications You must be signed in to change notification settings

jfrmilner/PowerShell-Microsoft365

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PowerShell - Microsoft 365

Security and Compliance

Name Service Category Description
Report-PurviewRetentionPolicies Purview DLM Export Retention Policy Hold Tracking information from the Mailbox Diagnostic Logs of each in scope Mailbox. This script will create two reports:
1. Historic Hold Tracking Report. This provides a history of Holds applied to each Mailbox.
2. Active Hold Report. This provides a truth table of active Holds on each Mailbox.

Microsoft Graph

Name Service Category Description
Report-M365LicenceAllocationTenant.ps1 Graph Graph Create Tenant level licence report
Report-M365LicenceAllocationUser.ps1 Graph Graph Create User level licence report

Exchange Migrations, Transitions and Coexistence (Hybrid)

Name Service Category Description
Migration-SendAsPerms EXO Migration These scripts help apply a workaround of using Recipient Permissions when Mailbox Permissions are not possible, usually because the target Mailbox of the Permission entry has not been migrated.
HybridAutoMappingMailboxPems.ps1 EX/AD Hybrid This script provides an example of how to grant an O365 User FullAccess Mailbox permissions to an On-Prem Mailbox with Auto-Mapping using msExchDelegateListLink.
Migration-IndividualMailboxBatch.ps1 EXO Migration This script provides a function New-IndividualMigrationBatch to create onboarding migration batches for single mailboxes. As Batch jobs can be seen on the Migration tab of the Exchange Admin Portal it allows completion tasks to be handled by portal only Admins.
Migration-MailboxFolderPerms.ps1 EX Migration This script consists of two functions.
1. Test-MailboxMigrationHealth which performs tests against a given Mailbox to determine suitability for migration to Exchange Online (Office 365).
2. Remove-UserMailboxFolderPermission performs the removal of User Mailbox Permissions. Typically used in conjunction with Test-MailboxMigrationHealth, passing the output of Disabled Users from that command for removal processing. These scripts help mitigate against Errors such as "A corrupted item was encountered: Folder ACL "Inbox" or CorruptFolderACL" and "MigrationPermanentException: You can't use the domain because it's not an accepted domain for your organization."