O365 PowerShell Connector mit verschlüsselten Passwortdateien

O365 PowerShell Connector mit verschlüsselten Passwortdateien

Bei meiner täglichen Arbeit, kommt es immer wieder vor, dass ich PowerShell Verbindung zu O365 herstellen muss, deshalb wollte ich diese Aufgabe automatisieren. Um meinen O365 Connector korrekt anwenden zu können, bitte auf jeden Fall meinen Artikel zur Erstellung verschlüsselter Passwörter lesen. Mein Connector benutzt diese Dateien!

Nun möchte ich aber den O365 Connector etwas näher vorstellen, der zwei Dateien benötigt um sich an verschiedenen O365 PowerShell Plattformen zu authentifizieren. Zunächst aber noch eine kleine Einführung zum Thema Konvertierung eines Passwortes in einen Securestring mit AES256 bit Verschlüsselung.
HINWEIS: jeder der BEIDE Dateien in die Hände bekommt kann das Passwort verwenden und auch zurück in Klartext konvertieren, deshalb gut auf die Dateien aufpassen!

SKRIPT DOWNLOAD ZIP Datei
oder auf github
https://github.com/blog-it-koehler-com/mson-connector

Erstellen eines zufälligen AES Schlüssels in PowerShell:

$aeskeypath = ".\it-koehler.key"
$AESKey = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($AESKey)
Set-Content $aeskeypath $AESKey

Passwort Verschlüsselung mit AES Datei

$pw = Read-Host "type in a password!"-AsSecureString
$pw
$key = Get-Content .\it-koehler.key
$encryptpw = $pw | ConvertFrom-SecureString -Key $key
#copy content to file 
Set-Content .\alexander.txt $encryptpw

wie bereits erwähnt habe ich hierzu eine kleine Serie von Artikeln geschrieben.
Nun möchte ich aber den O365 Connector zeigen, bzw. wie er aktuell funktioniert.

Wie man sehen kann wird der O365-Connector mit mehreren Parametern angesprochen. Hier eine kleine Erklärung was der Connector erwartet und wie die Parameter funktionieren.

-CredFilePath
kompletter Pfad zur Passwort Datei (AES verschlüsselt)

-KeyFilePath
kompletter Pfad zur Datei mit dem AES Schlüssel

-ConnectionTypes
möglich Optionen
– AzureAD = Connection to AzureAD (Module AzureAD)
– ExOn = Exchange Online Connection (siehe Anleitung)
– MSOL = Microsoft O365 Powershell Console (Module MSonline )
– MSSkype = Microsoft Skype Online (Module Installation )
– MSTeams = Microsoft Teams Powershell (Module MicrosoftTeams)

– Username
Benutzername welcher zur Passwortdatei passt und die Berechtigung für die entsprechende Rolle in O365 hat

Alle Parameter werden benötigt, solltet ihr einen vergessen wird das Skript danach fragen.
HINWEIS: wenn man nach dem Verbinden „$commands“ in der PowerShell eingibt, gibt die PowerShell alle importierten cmdlets aus. (funktioniert nicht bei Exchange und Skype)

Ich nutze dieses Skript um schnell zur PowerShell O365 zu verbinden.
HINWEIS: MultifactorAuth ist im Moment nicht unterstützt.Hier noch weitere Funktionen aus dem Skriptaufbau:

  • …prüft ob credfile oder keyfile eine Datei ist und ein Pfad angegeben ist
  • … es gibt eine verbose Option um zu sehen, was passiert
  • … überprüft die installierten module und importiert diese, sollten sie noch nicht importiert sein
  • … es ist möglich mehrer Dienste in einer Session anzusprechen

Lasst mir gerne einen Kommentar zum Connector da. Sollte euch der Artikel gefallen haben, dann bitte auf „helpful“ drücken. Viel Spaß mit meinem Connector

Print Friendly, PDF & Email
  • Was this Helpful ?
  • yes   no

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.