As an Exchange administrator you normally perform tasks by executing PowerShell scripts. Some of these scripts are executed automatically, some are run manually as these scripts require more attention.
Think about a completely different approach. Have you ever thought about administrating Exchange Server or your Exchange Online instance using your voice?
Thanks to Alexa skills we can do something like
“Alexa, ask Exchange Assistant to create a new mailbox for John Doe”
“Alexa, is the CEO's mailbox in good shape?”
Or run something more complicated
“Alexa, start Exchange to setup 5 new Exchange servers, please”
Sounds like magic, right?
Solution
As a solution we use the following technologies:
- Alexa custom skills extension for Exchange
- Azure subscription supporting
- Azure Web API
- Azure Automation
- Azure Hybrid Runbook Worker
The Azure Hybrid Runbook Worker enables you to execute PowerShell runbooks in your local infrastructure to manage local ressources.
How does it work
The solution consists of a Visual Studio Solution acting as an Alexa skill endpoint. The configured intents connect to your Azure Automation webhooks and trigger the execution of preconfigured PowerShell automation runbooks.
These runbooks can either run againt Azure resources or against your local infrastructure. Automation of your local infrastructure requires the setup of the Azure Hybrid Runbook Worker components.
The following diagram illustrates the functionality.
Requirements
- You need to have an Amazon Alexa device
- You need to have an Amazon Alexa Developer account
- You need to have an active Microsoft Azure subscription
- You need to deploy the Hybrid Runbook Worker component in your local infrastructure, if you want to automate your local infrastrucute
Preparation
The solution utilizes the Azure4Alexa and AlexaSkillsSet.NET projects available on Github. Currently the approach requires some manual steps and Visual Studio knowledge, as you want to deploy your own Alexa custom application. This is primarily driven due to security demands. The Hybrid Runbook Worker can access your local infrastructure. So you went to be in charge of the credentials used to access your infrastructure.
- Clone the Visual Studio solution from Github (https://github.com/Apoc70/ExchangeSpeechAssistant)
- Follow the description provided here to setup your personal Alexa developer account and to get your Azure trial subscription to host the application
- Publish the Visual Studio solution as an intital endpoint to setup your Alexa custom skill
This results in a simple web page demonstrating the new Azure Web App
- Modify the AlexaConstants.cs to use your Application Id
- Re-Publish the Visual Studio solution with your custom Application Id
- Prepare your local infrastructure for the use with Hybrid Runbook Worker
- Installing Hybrid Runbook Worker
- Create a Runbook Automation Account
- Create a runbook for whatever action you want to execute
Start enjoying how your administrator's can orchestrate your Exchange Server environment.
Links
- Alexa Developer Account
- AlexaSkillsSet.NET (implemented by Alexa4Azure)
- Additonal Notes
Enjoy your wonderful life with Exchange 🙂