Day: February 17, 2012

  • Assign a Room Mailbox Permissions

    If we want to check the detail information of the room mailbox schedule or change the permission level of the Calendar permission.  We should do the following steps:

    •  Add a user as a full permission to the room mailbox via PowerShell:

      Assign Permission Add-MailboxPermission -Identity “[email protected]” -User “[email protected]” -AccessRights Fullaccess -InheritanceType All

    • Open room mailbox with OWA
    • Login to user who have the full permission of room mailbox by using OWA.
    • Click on “your alias” at top right corner and select room mailbox
    • When the OWA open room mailbox, we can click on “calendar” -> Share -> “Share this calendar”  and select the share permission. Then, we can select the person and send the announcement email.

    On the Client Side the user will be able to the see the only if they have permissions. If no permissions are assigned it will give a warning saying it is unable to connect. This will go away once the permissions are set right!

    1. Open OWA (Outlook Web apps) by opening http://mail.office365.com
    2. Calendar – > My Calendars  -> open “other Calendars” ,then input the alias of the Room-mailbox

    Microsoft Article: Create A New Room Mailbox

  • Close Powershell Sessions!

    If you have ever received the error message below or a similar one then you are not closing your PowerShell sessions properly (or at all!).

    [serverName] Connecting to remote server failed with the following error message : The WS-Management service cannot process the request. This user is allowed a maximum number of 3 concurrent shells, which has been exceeded. Close existing shells or raise the quota for this user. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionOpenFailed

    The way to close your PowerShell sessions is to use the Remove-PSSession command once you have finished with your session.
    Example:

    We use the following to create the session:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection

    We now end the above session by entering:

    Remove-PSSession $Session

  • Set a Room Mailbox to Show Details of a Meeting in its Calendar

    You may notice that meetings with a ‘Room’ mailbox will by default only show a “Busy” status.
    Many, including the organisation I work for, wish to have (at the very minimum) the following displayed in the Room’s calendar:

    • Organiser of the meeting, and
    • The subject of the meeting

    Below I will demonstrate how to set the permissions so that all meetings (except those explicitly marked as ‘Private’) publicise the above details to all who view its calendar.

    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session

    Set the Room calendar to show ‘limited details’ by default

    We will do this using the Set-MailboxFolderPermission command. Click the link to see the full list of parameters you can pass in to the command. We will be using ‘limited details’ for the AccessRights variable.

    Set-MailboxFolderPermission -AccessRights LimitedDetails -Identity Room:\calendar -User default

    Set the Room calendar to show the ‘Organiser’ and ‘Subject’ of the meeting

    We will do this using the Set-CalendarProcessing command. Click the link to see the full list of parameters you can pass in to the command.

    Set-CalendarProcessing -Identity testroom -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false

  • Grant & Revoke Access to Mailboxes

    There may be times where you may need to grant an IT administrator or other employees access to another user’s mailbox.
    Below I will demonstrate how to:

    • Grant an Admin access to a single mailbox
    • Grant an Admin access to all mailboxes
    • Revoke the above permissions (recommended cause of action after the Administrator has finished his/her tasks)
    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session

    Grant an Admin access to a single mailbox

    Grant an Admin access to all mailboxes

    • Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'Admin')} | Add-MailboxPermission -User[email protected] -AccessRights fullaccess -InheritanceType all

    Revoke the above permissions

    • If you want to revoke permissions after granting them, simply replace the ‘Add-MailboxPermission‘ with ‘Remove-MailboxPermission‘ followed by the original command you entered to grant the permissions. For example, to grant [email protected] full access to [email protected], you would enter the command:
      Add-MailboxPermission [email protected] -User [email protected] -AccessRights FullAccess -InheritanceType All

     

    There is a switch you can use in conjunction with the above commands which will hide the user mailboxe from appearing in the mailbox-tree panel in Outlook (on the left side).

    -AutoMapping $false

  • Remove Password Expiration

    Many customers ask me the question how they can remove password expiration on their Office 365 environment. With the PowerShell command below this can be achieved:

    1. First make sure you have the remote signed execution policy set to true. You can do this by running PowerShell in admin mode and running: Set-ExecutionPolicy RemoteSigned
    2. Next, run the following to authenticate your self and import PowerShell commands to your local session:
      $LiveCred = Get-Credential
      $Session = New-PSSession -ConfigurationName Microsoft.Exchange-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
      Import-PSSession $Session
    3. Get-MsolUser | Format-Table UserPrincipalName,DisplayName,PasswordNeverExpires