Office 365 Offline Installer

A office 365 offline installer is a nice thing to have.
Nice for the customer that might have a slow internet connection on the one hand.
And on the other hand nice to have included in a base image that you can roll out to new devices.

I want to give you a short rundown on how to create one.
Download the Office Deployment Tool.

Then go to and create a configuration XML.
You can define settings like the installed office language, license, processor architecture etc.

Once you have turned all the switches and knobs the way you want then, you can export this into a XML file.

Start a CMD and run the setup.exe (Office Deployment Tool) with the parameter /download <Path to the XML file>.

This will download a Folder "Office" to the location of the Setup.exe
Copy that folder and the setup.exe into the same folder on the target machine and run the setup.exe with the parameter /configure <Path to the XML file>.

This will start a offline Office installation.


Office 365 Offline Installer

Ein Office 365 Offline Installer ist eine angenehme Sache.
Zum einen für Kunden, die nur eine schmale Internetleitung haben, zum anderen für ein Basis Image das auf neue Geräte ausgerollt werden kann.

Ich möchte euch kurz zeigen, wie Ihr einen solchen erstellen könnt.
Als Erstes ladet euch das Office Deployment Tool herunter.

Dann erstellt ihr euch auf eine Konfigurations XML.
Ihr könnt auf dieser Seite Einstellungen wie Sprache, Office Paket, Prozessorarchitektur etc. definieren.

Wenn Ihr alle Einstellungen vorgenommen habt, könnt ihr die XML Datei exportieren.

Startet eine CMD und startet die setup.exe (Office Deployment Tool) mit dem Parameter /download <Pfad zur XML Datei>.

Dies wird in dem Ordner der Setup.exe einen Ordner "Office" erstellen.
Kopiert diesen und die Setup.exe auf das Zielsystem.

Dort startet ihr die Setup.exe dann mit dem Parameter /configure <Pfad zur XML Datei> und die Installation von Office beginnt.


Export data from AzureAD using PowerShell

In this article I want to show you how Data can be exported from Azure AD using PowerShell
At first you have to connect your PowerShell with AzureAD.

To do this use the PowerShell commandlet connect-azuread.
This should spawn a pop-up asking you for authentication.
Use Azure Credentials that have the permissions needed to at least read all properties.

If the connection worked it should look something like this

Getting the data

Here is a good reference for PowerShell commandlets related to AzureAD.

We use get-azureaddevice to get a list of the devices in the Azure Domain.

As you can see the devices do have an ObjectID, a DeviceID and a DisplayName.
These are by far not the only Infos that are available regarding devices.

To get an overview of what values get stored for each device just take one at random (-objectid) and pipe to format list (fl).

In this case I would like to export data on the attributes DisplayName, ObjectId, ObjectType and ApproximateLastLogonTimeStamp.

These can be listed for all devices using the following command.
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp

Exporting the data

For better visibility you can export this info to a CSV file.
To do this pipe STDOUT to export-csv and use a local path to store the file.

In my case the command looks like this:
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp | export-csv C:\temp\foo.csv

Now we can open the file, for example with excel.
Just start excel and select Data > From Text / CSV.

In the import Dialoge select comma separated import and load the file.

Using this import method you can sort columns alphabeticaly.


Export AzureAD data via Powershell

This article describes how you can export data from AzureAD using the PowerShell.

At first you have to connect your PowerShell with an AzureAD.
To do this we use the connect-azuread commandlet.

This generates a pop-up asking for login credentials.
Use an account that has access to the information you want to export.

Afterwards you should see a line like this.

Getting data

The following Microsoft page provides a good overview of AzureAD related PowerShell commandlets.

We use get-azureaddevice to get a list of device objects in this domain.

As you can see the devices have the related information ObjectID, DeviceID and a DisplayName.
These are the values get-azureaddevicedisplays by default but there are way more.
We get an overview of all available values if we take a random device (-objectid) and pipe the output to format list (fl).

In this example I am interested in the values of DisplayName, ObjectId, ObjectType und ApproximateLastLogonTimeStamp.

We can now explicitly list these in a desired order.
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp


Exporting the data

For better visibility you can export this data to a CSV file.
To do this we pipe STDOUT to the export-csv commandlet and provide a local storage path.

In this case the command looks like this:
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp | export-csv C:\temp\foo.csv

Now we can open this exported CSV with excel for example.
Just go to File > From Text / CSV.

In the following dialogue we define that the values presented are comma seperated and confirm with load.

This way you can easily sort alphabeticly and provide the output to a customer.


Enable Multi Factor Authentication

In this article I want to show how you can add another layer of security to the O365 login by enabaling multi factor authentication (MFA).
We have to start by looking at the different options of MFA the microsoft portal offers.

  • Multi-Factor Authentication for Office 365 - free
  • Multi-Factor Authentication für Azure AD-Administratoren - free
  • Azure Multi-Factor Authentication - extra license

This article covers the free MFA for Office 365.
It can only be used by accounts with an aktive O365 license.


The changes you are about to enable will impact the way people use thier account.
Think about how you communicate this and when to roll it out.

At first you should think about what your second factor is going to be.
In the free version it coud be one of the following:

  • A call to your phone number providing a code
  • An SMS to your phone number providing a code
  • An App you use to scan a QR code on the screen

In this example I will be using the SMS as the second factor.

In addition the the code that is beeing sent via SMS, the user will be asked to generate a so-called "app-password" when configuring 2FA.
This is needed to bypass 2fa when using the local office apps running on the users machine. (Outook for example)

Setup in the O365 portal

At first you login with an administrative account to the O365 admin panel.

Here you select User > Active Users More Setup Azure multi factor authentication.

This will open a new tab in wich you can handle the MFA settings of every O365 user.
Search for an account, select it and click enable on the right hand side.

You will have to confirm that you really want to enable MFA for this account and microsoft provides a usefull link that lets users edit thier provided phone number.

After you have confirmed, the users MFA status should be enforced.


Login as a user

Wenn you are logging in as a user to, after MFA has been enabled, werdet Ihr aufgefordert die MFA einzurichten.

Following the Setup now link you get to a configuration page where you can enter you phone number.

Once you get the code via SMS...

... you can verify your account for MFA.

Finally you will be displayed an App-Password, that is needed for the Office Apps.
The user (or person setting up the mfa) whould write this down or copy it somewhere.

Configuration of the Office-Apps

When you start the Outlook client after setting up MFA, you will be asked for a username and password.

Username: user@domain
Password: App-Password

This password is effectivley bypassing 2FA since otherwise you would have to enter a code every time outlook is pulling new mails.


Office 365 Admin Panel

You manage Office 365 using the O365 Admin Panel or Admin "App".
When you login unsing an administrative account you will find an App called Admin.

You can could also click on the nine dots on the upper left hand side of the startpage and select the app.

When you start the app you will find a navigation bar on the left hand screen that is currently set to home.
To better understand the structure of the menu and the handeling of users you have to think of how the licensing model works.

On the users section you can generate user logins.
Licenses get booked and bound to the users account, that defines what apps the user can use.
User get sorted into groups, that defines what resources and privileges the user can access inside of an app.

The onboarding of a new user looks like this:

  • Buying of a monthley subcription e.g. rase the overall ammount of payed subcriptions
  • Adding a new user
  • Apply the license to the user
  • Adding the user to the appropriate groups


Office 365

In this article I will try to explain what O365 is and how it can be used.
With Office 365 Microsoft is providing the platform that allows using the office suite in the browser or as an installed app and allowes the integration of third party products.

Another big difference to the previous office versions is licensing.
You do not buy and own the software anymore, you rather rent them for a monthly price.
The subscription fee is depending on what apps you want to use.

Depending on the license type you also get an Exchange Online License with a 50GB inbox with your subscription.
While it is hard to justify renting the office suite when it comes down to numbers, this is a real game changer.
No on-prem Exchange Server means no need for updates, maintenance and migrations (e.g. money and downtime).

The same goes for Azure Active-Directory that might replace an on-prem DC.

I wont comment on data privacy regarding the 1TB OneDrive Cloudstorage comming with the lincese.

The O365 wikipedia page provides quite a good overview.


The O365 Products

Main Online- oder Desktop Apps:

  • Word
  • Excel
  • PowerPoint
  • OneNote
  • Outlook

Other Products are:

  • Publisher
  • Access
  • OneDrive
  • Skype for Business
  • OneNote
  • SharePoint
  • Flow
  • Tasks (Oultlook Desktop App integrated)
  • Calendar (Oultlook Desktop App integrated)
  • Dynamics 365 (ERP and CRM tool)
  • Forms (Umfrage, Fragebögen, Anforderungsformulare)

Also you have acces to third party apps using the store.


Daten per Powershell aus AzureAD exportieren

In diesem Artikel soll es darum gehen, wie ihr euch mit der Powershell Daten aus Azure ziehen könnt.
Als erstes müsst Ihr eure Powershell mit einem AzureAD verbinden.

Hierzu gebt ihr in der Powershell den Befehl connect-azuread ein.
Jetzt sollte ein pop-up erscheinen, bei dem ihr euch mit einem Account authentifizieren müsst, der Zugriff auf das AzureAD hat.

Anschließend solltet ihr folgende Zeile sehen.

Daten abrufen

Diese Microsoft Seite gibt eine gute Übersicht, welche Commandlets die Powershell bezüglich AzureAD mitbringt.

Wir verwenden get-azureaddevice um eine Liste der Geräte in der Domäne zu erhalten.

Wie ihr seht, haben die Geräte eine ObjectID, eine DeviceID und einen DisplayName.
Das sind aber nicht alle Informationen, die über ein Gerät zur Verfugung stehen.

Wenn wir uns ein zufälliges gerät nehmen (-objectid) und nach format list (fl) pipen, erhalten wir eine Übersicht über alle Werte die über das Gerät gespeichert werden.

Ich interessiere mich in diesem Beispiel für die Attribute DisplayName, ObjectId, ObjectType und ApproximateLastLogonTimeStamp.

Diese können wir uns jetzt listen lassen.
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp


Daten exportieren

Es empfiehlt sich der besseren Übersicht halber diese Daten in eine CSV Datei zu exportieren.
Hierzu pipen wir STDOUT nach export-csv und geben einen lokalen Speicherpfad an.

In unserem beispiel sieht das so aus:
get-azureaddevice | select DisplayName, ObjectId, ObjectType, ApproximateLastLogonTimeStamp | export-csv C:\temp\foo.csv

Jetzt können wir die Datei z.b. mit Excel öffnen.
Hierzu einfach Excel starten und über Daten > Aus Text / CSV wählen.

In dem anschließend erscheinenden Dialog wählt ihr einen kommaseparierten Import und klickt auf Laden.

So lassen sich die Spalten beispielsweise alphabetisch sortieren.


Multi Factor Authentifizierung einrichten

In diesem Artikel soll es darum gehen, wie man den Zugang zu Office Produkten mit einer Multi Factor Authentifizierung (MFA) einrichten kann.
Generell muss man erstmal damit anfangen, dass es mehrere MFA Angebote für das Microsoft Portal gibt.

  • Multi-Factor Authentication für Office 365 - gratis
  • Multi-Factor Authentication für Azure AD-Administratoren - gratis
  • Azure Multi-Factor Authentication - kostenplichtig

In diesem Artikel geht es um MFA für Office 365.
Dieses kann für jeden User mit einer aktiven O365 Lizenz eingerichtet werden.


Die von euch vorgenommenen Änderungen werden die User beeinträchtigen.
Überlegt euch wann und wie das kommuniziert wird.

Als erstes solltet ihr euch Gedanken darüber machen welches euer zweiter Faktor sein soll.
In der Gratisversion gibt es folgende Optionen:

  • Ein Anruf auf einer Telefonnummer, über den ein Code mitgeteilt wird
  • Eine SMS an eine Telefonnummer, über die ein Code mitgeteilt wird
  • Das Abscannen eines QR Codes auf dem Bildschirm über eine App

In diesem Beispiel werde eine SMS auf mein Handy als zweiten Faktor einrichten.

Zusätzlich dazu, dass ein Code per SMS auf mein Handy geschickt wird, wird der User im Zuge dieser Umstellung auf MFA ein App-Passwort generieren.
Dieses wird benötigt um lokal installierte Office Apps weiterhin verwenden zu können.


Einrichtung im O365 Portal

Als erstes meldet ich euch mit einem administrativen Account an der O365 Adminkonsole an.

Hier wählt Ihr unter Benutzer > Aktive Benutzer über Mehr den Menüpunkt Setup Azure multi factor authentication.

Dies öffnet einen neuen Tab in dem Ihr die MFA Einstellungen jedes O365 Nutzers anpassen könnt.
Hier sucht ihr einen Account zum testen aus, setzt den Haken und wählt auf der rechten Seite enable.

Hier müsst ich nochmals bestätigen, dass ihr MFA aktivieren wollt und Microsoft stellt einen Link bereit über den User die Account Details Ihres Accounts anpassen können.

Nachdem Ihr dies bestätigt habt, sollte der Status des Benutzers auf enforced stehen.


Login als User

Wenn ihr euch als User jetzt das erste Mal am Portal anmeldet, werdet Ihr aufgefordert die MFA einzurichten.

Wenn ihr dem Jetzt einrichten Link folgt landet Ihr in der Konfigurationsoberfläche unter der Ihr eure Telefonnumer hinterlegen könnt.

Wenn Ihr den Code Per SMS erhalten habt...

... verifiziert Ihr euer Gerät und die MFA Einrichtung.

Zum Schluss erhält der User noch ein App-Kennwort, welches für die Nutzung der installierten Office Apps notwendig ist.
Der User (oder einrichtende Admin) muss dieses notieren.

Einrichten der Office-Apps

Wenn Ihr jetzt auf dem Client Outlook startet, wird dieser nach einem Benutzernamen und Passwort fragen.

Benutzername: user@domain
Passwort: App-Kennwort

Dies dient dazu, dass nicht bei jedem Start einer Office Anwendung 2FA getriggert wird.


O365 Admin Konsole

Verwaltet wird O365 über die sogenannte O365 Admin Konsole, auch diese ist eine App.
Wenn ihr euch mit einem Adminitsrativen Account anmeldet, findet ihr auf der Startseite die App "Admin".

Alternativ könnt Ihr sie über eure Apps suchen oder links oben über die Kachelansicht die App "Admin" starten.

Wenn Ihr die App gestartet habt gibt es am linken Bildschirmrand eine Navigationsleiste in der aktuell Home ausgewählt ist.
Um das Konzept dieses Menüs und das handeling von Usern besser zu verstehen, sollte man sich vor Augen halten wie das O365 Lizenzmodell funktioniert.
Über den Users Reiter könnt ihr neue O365 Benutzer Logins generieren.
Lizenzen werden dann diesen Usern zugewiesen, darüber wird definiert welche Dienste dieser User in O365 nutzen darf.
User werden wiederum Gruppen zugewiesen, worüber in den Apps geregelt wird auf welche Daten der User zugreifen darf.

Das Onboarding eines neuen Users läuft also folgendermaßen:

  • Kaufen der monatliche Subscription bzw. erhöhen der Menge der Subscriptions
  • Anlegen eines neuen Users
  • Dem neuen User die Lizenz zuweisen
  • Aufnehmen des Users in Gruppen