TeamsDnA user group

On July 3rd the new Microsoft Teams DnA (Development and Adoption) user group started in Munich. You can find the meetup page over here: Microsoft Teams DnA Development

The Teams DnA usergroup is organized by

What are the Teams DnA topics?

Over the last few meetings, we did focus on:

  • presentations on “Microsoft Teams as development platform”.
  • the expectations of the participants of this usergroups.

Our goal is to highlight Microsoft Teams as platform for line of business applications for users, administrators and developers. The different possibilities will be explained with examples. During the following meetups, there will be a short presentation on a focus topic.

In addition to these focus presentations, this usergroups has another goal: To provide a application for teams, that is developed by the community. This approach allows insights on how to develop an app for teams and how to leverage several technologies (Azure, Office 365) and methodologies (e.g. DevOps) at the same time.

What’s the TeamsDnA menu-butler application?

During the first meetup in July the usergroup did a bit of brainstorming. What could be a possible Microsoft Teams application? The brainstorming has been done with the following premise: What is an application that every company needs and every user is familiar with the use-case?

Menu-Butler was born.

Menu-Butler is your personal lunch assistant. With every intranet project the most common requirement probably is the easy retrieval of the daily and weekly menu for the user’s respective location.

Menu Butler is a personal assistant that integrates into Office 365 and Microsoft Teams seamlessly and helps to solve this requirement.

You can find more information over here: teamsdna/menu-butler

How can I join the Teams DnA usergroup?

With two meetings onsite in Munich, we did switch to a Microsoft Teams meeting, as there is growing interest in this user group by people outside of Munich.

The easiest is to join the meetup group. We will post the Teams link to the meeting in each meeting description.



10 signs you are an Office 365 Consultant!

Over the last few weeks my MVP colleague Luise Freese and I joined up to create a sway about “10 signs your are an Office 365 Consultant.” Hope you enjoy the read!

You can find the sway here

Using Desired State Configuration (DSC) for SaaS – Office365DSC thoughts

PowerShell Desired State Configuration (DSC) enhances your setup experience of new environments like no other technique before. There are around 270 different DSC resources available that provide methods used to configure windows server components and software like:

  • SharePoint Server
  • SQL Server
  • Active Directory
  • IIS

I’m using DSC very frequently. It gives me great advantages over my previous PowerShell scripts. I can use DSC in combination with Azure DSC to configure my systems and track their status. Configuration drifts can only happen for parts that are not part of my configuration.

The part that is missing: PowerShell DSC is a per node technology. Every server, that I want to configure must have a local configuration manager (LCM), that is responsible for applying my configuration. The LCM is responsible for applying the configuration either as local system account or as a configurable account.

Fast forward: Currently more and more people switch to Software as a Service (SaaS) offerings like Office 365. Office 365 offers many configuration options, but there is no LCM available, that would handle the configuration.

Let’s speak about a possible Office 365 DSC resource.

This resource should be responsible for administering Office 365 in a DSC way. I see the following options on how to apply a configuration to Office 365:

  1. Create a configuration and apply this configuration on node “localhost”. This means we are using the current computer and the LCM to apply a configuration to a SaaS.
    This looks like an “ok” solution. The configuration depends on the local system and nothing of the configuration gets apply to the local system. This feels odd.
  2. Azure Runbooks offer a way to run a PowerShell script, reuse PowerShell Modules and schedule the script.
    Compared to a local PowerShell and LCM Azure Runbooks could be the way to go. A SaaS to configure another SaaS – this feels kind of perfect – but won’t work as many cmdlets are dependant on .NET components, that can’t be loaded into Azure Runbooks and this is very not DSC.

Maybe there are other options available, that I can’t think of. If you have a suggestion, feel free to leave a comment.

Currently the most resources focus on products and functions that life on a Windows Server System – the configuration is specific to a Node.

Thoughts about an Office365DSC Resource

Now many customers start using Office365. In Germany customers are very aware of their data and sometimes spend a good amount of time to define a governance for Office365.

With an option to configure Office365 with DSC, they could gain a lot of comfort and overview of what is configured and how. Working with test tenants would be very easy, as you could replicate your production settings to your test tenant easily – despite there is no Office365 DSC Resource available yet.

What are the current options to script your Office365 administration?

Why not to script everything and use DSC instead?

DSC is about configuration management. If I want to update any setting in the Office 365 admin centre, a DSC configuration seems to be the best option.

The scripting guy would load the PowerShell Module, the CLI or open the admin portal to change a setting with a function call like:

IWantToSetThis-Function -Something This

With DSC there would happen something else:

Something {
    State = "This"

DSC would try to get the current setting for “Something”, compare the parameter “State” to “This” and only if they differ, call the function above.

Is DSC only a better approach to script?

I’m a big fan of using the DSC approach. In the end it’s just PowerShell, but in a better structured manner. Having a predefined set of Get-, Set- and Test-Functions (and with Office365DSC Export-Function) allows to reuse the functionality provided.

Where can I find Office365DSC?

You can find the repository of Office365DSC at github: Microsoft/Office365DSC