Exchange 2010 Archive Mailbox and Shrink

Job ID: 32181606

Budget: $30 – $250 CAD

I need a script that will accomplish the following

1. Archive all mailboxes by year to a PST file. If the PST file is greater than 1GB, then it should split. Each PST file for a specific mailbox should not exceed 1GB
2. Once the archive is complete for each mailbox, it should shrink the mailbox and release any unused space
3. Once all mailboxes have been archived, it should shrink the exchange database and release any unused space
4. I should be able to specify which year I want to archive.

Notes:
- If there are no emails for a specific year for a specific mailbox it should skip it
- PST file naming convention should be: Year-OU-MailboxName-File1.PST
Example
2020-Accounting-bobsmith-File1.PST

If above mailbox is greater than 1GB for that year then it should be
2020-Accounting-bobsmith-File1.PST
2020-Accounting-bobsmith-File2.PST

Script must be compatible with

Exchange Server 2010
Version: 14.01.0218.013