In this example We will be adding Emily Gutsa as a Publishing Editor to the Ross Office Staff - Calendar.
First of all we need to connect PowerShell to Exchange online.
Run PowerShell as Administrator.
To connect to ExhcangeOnline - Type the Following command (use an Account that has admin permissions for Exchange) :-
connect-ExchangeOnline -UserPrincipalName Firstname.Last@safelaneglobal.com
At this point the Microsoft Office 365 Authentication box will pop up in which you can enter your password.
PowerShell will now download the relevant Modules for PowerShell and connect to Exchange Online for your tenant.
It is now a good Idea to check the default calendar name so we reference it correctly when adding permissions.
Best way to find default calendar name is by using the Get-MailboxFolderStatistics cmdlet.
Type Get-Mailbox -Identity "Ross Office Staff - Calendar" | Get-MailboxFolderStatistics -FolderScope Calendar | ft Identity,Name
This will then list the actual name of the Calendar in case it is different from default i.e. in Holland the default calendar name is Agenda.
Now we know the full name of the calendar we can Modify the permissions on it.
Before we do that, lets just look at the existing Permissions for the Calendar using the following Command :-
Get-MailboxFolderPermission -Identity "Ross Office Staff - Calendar:\Calendar" | ft Identity,FolderName,User,AccessRights
Now lets add Emily as Publishing Editor to this Calendar. Type the following command :-
Add-MailboxFolderPermission -Identity "Ross Office Staff - Calendar:\Calendar" -User "Emily Gutsa" -AccessRights PublishingEditor
This will give Emily Gutsa Publishing Editor Permissions on the Ross Office Staff Calendar.
If a User already has existing permissions on a Calendar you will need to use the same commands but use Set-MailboxFolderPermission