Connect

Set-ExecutionPolicy RemoteSigned
$UserCredential = Get-Credential
Import-Module MSOnline
Connect-MsolService -Credential $UserCredential

Create a shared mailbox

New-Mailbox -Shared -Alias sharedbox -Name "Shared Box" -DisplayName "Shared Box"

Grant send-on-behalf

Set-Mailbox -Identity "Shared Box" -GrantSendOnBehalfTo user@domain.com

Out of office

Get-MailboxAutoReplyConfiguration -Identity user@domain.com

Set-MailboxAutoReplyConfiguration -Identity user@domain.com -AutoReplyState Enabled `
  -ExternalMessage "External auto-reply text" `
  -InternalMessage "Internal auto-reply text"

# Disable again
Set-MailboxAutoReplyConfiguration -Identity user@domain.com -AutoReplyState Disabled