Delegation of Mailbox Access Rights to another user using PowerShell Commands:

Delegation of Mailbox Access Rights to another user using PowerShell Commands:
 
Delgation of MailBox Access Rights allows users to designate another user to send mail on their behalf. For example, the service administrator can modify a user’s mailbox settings to grant “send as” permissions to administrative assistants or to enable full mailbox access for third-party applications, such as archiving applications and fax servers.Exchange Online allows service administrators to set and configure sharing
and delegate access by enabling the following mailbox permission settings:
•Full Mailbox access
•Send As access
•Send on Behalf access

Full Mailbox Access

Using full mailbox access, a user can log on to another user's mailbox and act as the mailbox owner. This strategy is frequently used to manage resource mailboxes because resource mailboxes must be accessed by a group of users.

Send As Access

Send As permissions allow users to act as the mailbox owner for another user when sending mail. When mail is sent by a user with Send As permissions, the mail is sent from the mailbox owner and does not indicate to recipients that it was sent by a delegate and not the mailbox owner. If a user has Full Mailbox Access permissions, they may also have Send As permissions for the mailbox.

Send on Behalf Of Access

Send on Behalf Of access is similar to Send As access except that when the delegate user sends mail for the mailbox owner, the From field of the message will read "Sent on behalf of mailbox owner by delegate user."

The Send on Behalf Of parameter sets delegate access for the specified mailboxes, and enables the default Microsoft Outlook settings for delegates, including default folder permissions and meeting request behavior.

Configure Mailbox Permissions and Access

To enable mailbox sharing and delegate access for of your Exchange Online
users, run the

Add-MSOnlineMailPermission PowerShell
cmdlet. For more information about how to run the
Add-MSOnlineMailPermission cmdlet, see Add-MSOnlineMailPermission.

Additional permissions can then be configured by using Outlook. See Allow a Delegate to Send Mail on
Your Behalf for more information about how to set mailbox permissions in
Outlook.

Use the following commands to set your credential variable:
 
$cred = Get-Credential

When you execute the above command, you'll be prompted for your Office 365 credentials.
 
Then create a new PowerShell Session object with this command:
 
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
 
You'll get a warning about being redirected, don't worry that is what the -AllowRedirection command is for.
 
Next, import the cmdlets to your local shell session:
 
$importresults= Import-PSSession $s
 
Once you are there you can run the Get-Command like the following to see all the available commands:
 
Get-Command -Module $importresults | Out-Host –Paging
 
Then run the following commands to provide permissions at the mailbox level:
 
Add-MailboxPermission "MailboxYouWant2Delegate" -user upn@company.com -Accessright FullAccess
 
 
 
SendAs right needs to be set with "Add-AdPermission"
 
Please make sure to use UPN instead of "Domain\Username"