No need for a bunch of hoopla, here’s the short and sweet version.
Add Send As Permission for All Users from a User Account
Get-Mailbox -ResultSize Unlimited | Add-ADPermission -User "YourDomain\Username" -Extendedrights "Send As"
To add send as permissions for future users, we need to create a powershell script with the above line in it, make sure you have enabled the use of unsigned scripts by issuing the “Set-ExecutionPolicy remotesigned” command at an administrator ran PowerShell prompt, and create a task scheduler job to run our script with the administrator credentials saved in there.
If you don’t know how to create a task scheduler job, eat a dick. Lol, just kidding, but not really…search engine it you lazy twat or there’s even examples on this site that I’ve written about. Just do a search for “task scheduler”.
I will however provide you with the settings for the Actions screen inside of the Task Scheduler job. This page helped me find the correct syntax to open an Exchange Shell to issue the command to. Obviously, if you have Exchange installed somewhere funky or on a different drive, you’ll want to do a search for RemoteExchange.ps1 and put in the correct path.
Please note that whatever user account you run the script under in task scheduler will have to be a member of the “Organization Management” group in Active Directory.
Task Scheduler Action Info
Action: Start a program Program/Script: %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe Add Arguments (optional): -version 2.0 -NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; <PathToYourPowerShellScriptAbove>"