Exchange Online PowerShell V2 and Modern Auth with Application in AzureAD (Step-by-step)

Andres Bohren
Hallo zusammen, Vor ein paar Tagen hat Microsoft auf dem Exchange Team Blog erklärt, wie man mit sich mit Modern Auth und dem Exchange Online PowerShell V2 Module authentifizieren kann. Dies benötigt jedoch die Preview vom Exchange Online PowerShell V2 Module. Modern Auth and Unattended Scripts in Exchange Online PowerShell V2 https://techcommunity.microsoft.com/t5/exchange-team-blog/modern-auth-and-unattended-scripts-in-exchange-online-powershell/ba-p/1497387 App-only authentication for unattended scripts in the EXO V2 module https://docs.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps A first look at Certificate-Based Authentication for Exchange Online Remote PowerShell

Visual Studio Code and Azure DevOps Repo

Andres Bohren
Hallo zusammen, Kürzlich habe ich einen Blog Artikel geschrieben, wie man mit Visual Studio Code ein Version Control Repository in GitHub verwaltet. In diesem Artikel zeige ich euch Azure DevOps und wie man hier Code in einem Repository verwalten kann. Für die ersten fünf Benutzer ist Azure DevOps kostenlos. Danach kostet der Basci Plan 5.91 pro Benutzer und Monat. Für meine Zwecke reicht der Basis Plan. https://azure.microsoft.com/de-de/pricing/details/devops/azure-devops-services/ Nun muss man die Region auswählen

How to install Exchange Online Powershell V2 Preview Module

Andres Bohren
Hallo zusammen, Es gibt eine Preview vom ExchangeOnlineManagement Modul - musste ich natürlich ausprobieren. https://www.powershellgallery.com/packages/ExchangeOnlineManagement/2.0.3-Preview Um PowerShell Module zu installieren, muss die PowerShell als Administrator gestartet werden. Damit keine Module über die PowerShell Profile geladen werden, starte ich eine cmd als Administrator. Dort führe ich dann folgenden Befehl aus: start PowerShell -noprofile Als ich den Befehl für die Installation eingegeben habe, war der Parameter "-AllowPrerelease" unbekannt Install-Module -Name ExchangeOnlineManagement -AllowPrerelease

M365 New Portal homepage layout and navigation

Andres Bohren
Hallo zusammen, Schon vor einiger Zeit wurde informiert, dass es eine neues Layout und Navigation auf der M365 Startseite https://office.com geben wird. So hat es bisher ausgesehen Gestern habe ich das neue Layout auf der Seite zum ersten mal gesehen. Klickt man oben auf das Viereck mit den Punkten öffnet sich das Menü. Klickt man auf "Alle Apps" gehen die Apps seitlich auf. Grüsse Andres Bohren

PowerShell 7.0.2

Andres Bohren
Hallo zusammen, Das Update der PowerShell 7 mit der Version 7.0.2 gibt es schon ein paar Wochen. Höchste Zeit das mal zu installieren. v7.0.2 Release of Powershell https://github.com/PowerShell/PowerShell/releases/tag/v7.0.2 Grüsse Andres Bohren

Visual Studio Code and Version Control - Part 1

Andres Bohren
Hallo zusammen, Die Rolle des Systemadministrators verändert sich schon seit ein paar Jahren. Obwohl Engineering immer noch ein grosser Teil des Alltags ist, wird die Automatisierung immer wichtiger. Ein Systemadministrator, welcher sich nur im GUI zurechtfindet, hat es immer schwieriger. Wer kein PowerShell oder ein paar andere Programmiersprachen wie C#, Javascript, Java, Phyton (die Liste lässt sich beliebig erweitern) kann, hat es immer schwerer. Seit einigen Jahren wird in der IT Industrie das DevOps Modell vorangetrieben.

Visual Studio Code and Version Control - Part 2

Andres Bohren
Hallo zusammen, Im vorangegangenen Artikel habe ich euch gezeigt, wie man VS Code und GIT installiert. Visual Studio Code and Version Control - Part 1 http://blog.icewolf.ch/archive/2020/07/04/visual-studio-code-and-version-control-part-1.aspx Nun muss man sich erstmal mit den Grundlagen von GIT auseinander setzen. Ich habe den untenstehenden Link gefunden und finde, er zeigt recht gut die Grundlagen der Versionsverwaltung mit GIT auf. Natürlich ist das stark vereinfacht, aber ich denke, das wichtigste steht da. git - Der einfache Einstieg

Visual Studio Code and Version Control - Part 3

Andres Bohren
Hallo zusammen, Im letzten Artikel haben wir uns mit den Grundlagen von GIT vertraut gemacht. Visual Studio Code and Version Control - Part 2 http://blog.icewolf.ch/archive/2020/07/04/visual-studio-code-and-version-control-part-2.aspx Nun folgt die praktische Anwendung im VS Code Ein paar Tips hierzu gibt's auch hier: Using Version Control in VS Code https://code.visualstudio.com/docs/editor/versioncontrol Mit Ctrl + Shift + P kommt man in die Command Palette. Dort gibt man folgendes ein: Git: Clone Ich habe mir schon vor einiger Zeit ein GitHub Konto angelegt und dort ein Repository angelegt.

Check Exchange Online Protection IP's with PowerShell (ExOIPChecker)

Andres Bohren
Hallo zusammen, Die Dokumentation der Office 365 URL's und IP's existiert schon sehr lange. Anfänglich konnte man sich ein XML herunterladen. Seit knapp zwei Jahren gibt es einen Webservice, welches ein JSON zurückliefert. Office 365 URLs and IP address ranges https://docs.microsoft.com/en-us/office365/enterprise/urls-and-ip-address-ranges Office 365 IP Address and URL web service https://docs.microsoft.com/en-us/office365/enterprise/office-365-ip-web-service Falls auf einer Firewall die IP's für Exchange Online Protection eingeschränkt werden, so sollte man zumindest mitbekommen, wenn sich die IP's ändern, damit man die Firewall Regeln angepasst werden können.

Check for pending reboot with PowerShell

Andres Bohren
Hallo zusammen, Nachdem ich mich beim Exchange Update wieder mal durch den Wizard geklickt hatte und dann darauf hingewiesen wurde, dass noch ein Pending Reboot offen ist. Habe ich gedacht, das könnte man auch rasch vorher checken. Die folgende Tabelle habe ich im Internet gefunden. Daraus habe ich dann rasch ein PowerShell Script gebastelt. How to Check for a Pending Reboot in the Registry (Windows) https://adamtheautomator.com/pending-reboot-registry-windows/ KEY VALUE CONDITION HKLM:\SOFTWARE\Microsoft\Updates UpdateExeVolatile Value is anything other than 0 HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations value exists HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperations2 value exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired NA key exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending NA Any GUID subkeys exist HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting NA key exists HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce DVDRebootSignal value exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending NA key exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootInProgress NA key exists HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackagesPending NA key exists HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts NA key exists HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon JoinDomain value exists HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon AvoidSpnSet value exists HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName ComputerName Value ComputerName in HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName is different Daraus habe ich dann folgende PowerShell Script gemacht: