M365ServiceHealth with PowerShell Module
Hallo zusammen,
Mein Twitter Freund und Namensvetter @AndresGorzelany hat ein PowerShell Modul geschrieben um die M365 Service Health in der PowerShell Konsole darzustellen.
Er hat mich eingeladen daran mitzuarbeiten und ich habe ein paar Stunden investiert um einige von mir gewünschte Verbesserungen einzubauen.
Voraussetzungen:
- Azure AD App mit ServiceHealth.Read.All Application Permissions
- PowerShell 5.1
- MSAL.PS Module
Die Azure AD App muss folgendermassen konfiguriert sein.
Schreibt euch die Application ID auf
MSAL muss aktiviert sein
Ein Client Certificate (eins reicht)
Oder ein ClientSecret muss hinterlegt sein
Ihr benötigt bloss die Rechte "ServiceHealth.Read.All" und diese müssen vom GlobalAdmin "Granted" sein oder werden.
Mit den folgenden Befehlen installiert man sich das M365ServiceHealth PowerShell Modul aus der Gallery (Achtung: PowerShell muss "Als Administrator" gestartet sein.
Find-Module M365ServiceHealth
Install-Module M365ServiceHealth
Get-Command -Module M365ServiceHealth
Install-Module M365ServiceHealth
Get-Command -Module M365ServiceHealth
#ClientSecret
Connect-M365ServiceHealth -TenantId <tenant.onmicrosoft.com> -ApplicationId <ApplicationID> -ClientSecret <ClientSecret>
Connect-M365ServiceHealth -TenantId <tenant.onmicrosoft.com> -ApplicationId <ApplicationID> -ClientSecret <ClientSecret>
#Connect with Certificate
Connect-M365ServiceHealth -TenantId <tenant.onmicrosoft.com> -ApplicationId <ApplicationID> -CertificateThumbprint <CertificateThumbprint>
Connect-M365ServiceHealth -TenantId <tenant.onmicrosoft.com> -ApplicationId <ApplicationID> -CertificateThumbprint <CertificateThumbprint>
Wer mag, kann sich die Secrets ja in einem SecretManagement Modul ablegen https://blog.icewolf.ch/archive/2021/09/17/secret-management-modules-fur-powershell.aspx
Mit dem folgenden Befehl wird der aktuelle Servicestatus von M365 abgerufen und in der Console dargestellt. Mit dem Refresh Parameter kann man die Sekunden zwischen den aktualisierungen einstellen.
Get-M365ServiceHealth -Refresh 60
Will man mehr Details über die Issues eines Services erfahren gibt man folgendes ein
Get-M365ServiceHealthIssues -ServiceName <ServiceName>
Get-M365ServiceHealthIssues -ServiceName "Exchange Online"
Viel Spass beim Ausprobieren des Moduls.
Liebe Grüsse
Andres Bohren