Automation

Ignite 2016 Atlanta summary

Last week I had the privilege to attent Microsoft Ignite in Atlanta. This week was full of news, sessions and a lot of walking. Besides the sessions, this year the expo hall was large, I have spend a lot of time at the expo talking to venders, partners and Microsoft.

I have created a PDF from all my notes. On a few notes I have references to slides, the slides should be come available on https://myignite.microsoft.com/videos. On this site are also all the videos.

Presentation Ops in DevOps for Office 365

I’m part of the Microsoft Heroes at Sogeti and this week we had an evening event about DevOps where I did a talk about the operations part of DevOps for Office 365.

Presentation

At my current customer we are preparing Office 365 for deployment to every employee in the Netherlands. So far we had moved 1000 employees of one operating company and we are now working to get the rest of the Dutch working companies to Office 365. To make this happen we used PowerShell automation to make our operations work a lot easier and more fun by automating the boring and repeatable stuff.

How to integrate Azure automation with GitHub

In my previous post I wrote about using Azure automation to start and stop an Azure VM that is deployed using Resource manager. If you did not read that one I suggest you read it first since I will use that setup and the scripts in this post.

The azure automation has a great editor, but there is no version control in it. To solve this Microsoft added an option to integrate with GitHub and Visual Studio Online. For now only the GitHub one is available.

Start and Stop Azure VM with Azure Automation

Last week I updated my Azure storage and Virtual machines to Azure Resource Manager. Before that I had the OneShare for MSDN app from Sogeti to start and stop my VM every day so I could start using it without having it to boot manually. Unfortunately the app cannot authenticate with Azure Resource Manager so I have to find another way to make it automatically start and stop.

Azure Automation

The first thing I thought of was Azure Automation, I use that a lot and I have the knowledge of PowerShell to make this happen. I started with creating an Azure Automation resource. While creating this resource I noticed a new option called ‘Create Azure Run As account’. This option creates a service principal in your Azure Active Directory and gives it Contributor rights at the subscription level.

How to get a visual overview of your Office 365 license consumption

In the trend of my recent blog post I create a new addition to my automation of Office 365 tasks. This time creating a report with the license consumption per month with PowerShell automation, Azure table storage and Power BI. In this post I will take you with me thru the steps to set this up.

What do we need?

Before we can get started coding we need to do some plumbing first. The first thing we need is a storage account. From this storage account we need the connection string.

Managing Office 365 with Azure automation

We are rolling out Office 365 at my current assignment. Within this project we want to automate as much as possible to avoid human error and reoccurring tasks. We already used a lot of PowerShell for our current SharePoint farm, so the most obvious thing was to look at PowerShell for automating those tasks. In this article I will take you with me on the journey that we took.

Why Azure Automation

We choose Azure Automation for a few reasons. We started with a few PowerShell scripts from my workstation to see what we could automate and tried to set the default usage location of the user. This is something every user needs before a license can be assigned. We wanted to run this script every 3 hours after the Active Directory synchronization. Our first thought was we can use the Windows task scheduler just like ADSync (We started a year ago with this). The problem with using a task scheduler is that we need to authenticate to Office 365 and we cannot run this script with the current credentials. An option is to just enter the username and password into the script. This is a big NO. Another option was to save the encrypted password and use that one in our script, this one I could not get to work.