Office 365: Refresh Hybrid configuration procedure

There can be situation where you need completely remove an re-create your Hybrid configuration which can seem challenging from required actions point of view. Procedure below describe steps needed to be done in order if you want remove and create Hybrid Configuration for example if you receiving following error when running Hybrid Configuration Wizard:

Execution of the Set-FederatedOrganizationIdentifier cmdlet has thrown an exception. This may indicate invalid parameters in your hybrid configuration settings.
 Federation trust "yourfederateddomain/Configuration/Deleted Objects/Microsoft Federation Gateway DEL:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" wasn't found. Make sure you have typed it correctly.
 at Microsoft.Exchange.Management.Hybrid.RemotePowershellSession.RunCommand(String cmdlet, SessionParameters parameters, Boolean ignoreNotFoundErrors)

That particular procedure is written for Exchange 2013/Office 365 Wave 15 configuration, but it works pretty well for Exchange 2010/Wave 15 Hybrid.

Clean-up

  1. Execute following command on you on-premise Exchange 2013 server (that command is not available on Exchange 2010, if your Hybrid server is Exchange 2010, just skip that step):
    Remove-HybridConfiguration
  2. Remove existing organization relationships from both on-premise and O365 (you can use that command, if you have just single relationship on each side):
    Get-OrganizationRelationship | Remove-OrganizationRelationship
  3. Continue reading

Office 365 PowerShell connection script

If you working with Office 365 PowerShell on daily basis, you may find that it is taking too much time to connect your Office 365 console, especially if you working with multiple tenants. You have to note usernames, passwords for all of the tenants and copy/paste them every time you want to make connection. Below you will find description, how to make it “single command” task.

Because that script will give access to your tenant without typing any username/password, I would suggest that you should not implement that on any public machine. Make sure that you are only person who can execute connection script.

OK, let’s start.

First of all we need to create addition file where encrypted tenant’s password will be stored. As an example create directory “O365Connections” on your C: drive and then create folder “keys” in it.

Start PowerShell prompt and type following command:

Read-Host -Prompt "Enter your tenant password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\O365Connections\keys\tenant1.key"

Continue reading

Office 365: Mailboxes for testing your changes

You preparing for massive change on high number of mailboxes on your Office 365 tenant, but you want to test how the change will work first. But if there is no licences left, how it is possible to do?

Answer is quite straightforward – Shared mailboxes.

From mailbox properties perspective there are almost no difference between Regular and Shared mailboxes, but Shared mailboxes are free and it is possible to create unlimited number of Shared mailboxes on your Office 365 tenant.

Lets say you want to create 500 mailboxes for testing purposes. You will be surprised how simple it is! Just use following command in O365 PowerShell:

for ($i -eq 1; $i -ne 500; $i++) {New-Mailbox -Shared -Name “Test Shared Mailbox$i”}

┬áThat particular command will create 500 new Shared mailboxes. You may want to play with red number ‘500’ to decrease or increase number of mailboxes you want to create. Continue reading

Unable to retrieve Free/Busy information for some Office 365 mailboxes. Event ID: 4002; Source: MSExchange Availability;

Problem:

If you running Hybrid Environment or just trying to share free/busy information between your on-premise Exchange Organization and Office 365 you may experience that free/busy information for some mailboxes which were recently moved to O365 is not available. Please note that problem does not affect free/busy from on-premise to O365, if you cannot get free/busy for on-premise mailboxes – it must be another issue.

In addition you may see error similar to following in Application Event Log of your Hybrid server:

Event 4002, MSExchange Availability
Process 4192: ProxyWebRequest FederatedCrossForest from S-0-0-00
-0000000000-0000000000-000000000-0000 to https://server_name.outl
ook.com/EWS/Exchange.asmx/WSSecurity failed. Caller SIDs: WSSecur
ity. The exception returned is Microsoft.Exchange.InfoWorker.Comm
on.Availability.ProxyWebRequestProcessingException: System.Web.Se
rvices.Protocols.SoapException: An internal server error occurred
. The operation failed.

Continue reading