Ausgangssituation:
Kundenseitig besteht der Wunsch, in ein bereits vorhandenes On-/Offboarding PowerShell Skript auch das Anlegen, beziehungsweise Löschen von SEPPmail Secure E-Mail Gateway Users vorzunehmen.
Frage:
Wie ist die Vorgehensweise, um die Benutzerverwaltung des SEPPmail Secure E-Mail Gateway ebenfalls in das Skript zu integrieren?
Antwort:
Vorbereitungen:
Zunächst müssen die benötigten Module mit folgender Befehlsabfolge Installiert und geladen werden:
Install-Module Microsoft.Powershell.Secretmanagement -Force
Install-Module Microsoft.Powershell.Secretstore -Force
Install-Module SEPPmailAPI -Force
Get-Module seppmailapi -ListAvailable
Die Ausgabe sollte daraufhin in etwa wie folgt aussehen:
ModuleType Version PreRelease Name PSEdition ExportedCommands
---------- ------- ---------- ---- --------- ----------------
Script 1.0.5 SEPPmailAPI Core,Desk {Find-SMACustomer, Get-SMACustomer, New…
Import-Module SEPPmailAPI
Get-Module
Die Ausgabe sollte daraufhin in etwa wie folgt aussehen:
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Manifest 7.0.0.0 Microsoft.PowerShell.Management {Add-Content, Clear-Content, Clear-Item, Clear-It…
Binary 1.1.2 Microsoft.PowerShell.SecretManagem… {Get-Secret, Get-SecretInfo, Get-SecretVault, Reg…
Manifest 7.0.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Ob…
Script 1.4.7 PackageManagement {Find-Package, Find-PackageProvider, Get-Package,…
Script 2.2.5 PowerShellGet {Find-Command, Find-DscResource, Find-Module, Fin…
Script 2.1.0 PSReadLine {Get-PSReadLineKeyHandler, Get-PSReadLineOption, …
Script 1.0.5 SEPPmailAPI {Add-SMAcustomerAdmin, Add-SMAGroupMember, Export…
Nun werden zunächst die Anmelde-Credentials aus dem auf dem SEPPmail Secure E-Mail Gateway erzeugten Token (siehe auch Rest API) in einer Variable hinterlegt:
$tokencred = Get-Credential -UserName 2hWp0UpFH2pMdc6nLYTEtnO5Pwy5NgYk -Message N4Eoim8tlbC90CFwysiGgEHRNnyAwY7H
Optional kann der Inhalt der Variable zur Prüfung ausgegeben werden:
$tokencred
Danach erfolgt die Anlage der SEPPmailAPI Konfiguration unter Zuhilfenahme der zuvor angelegten Variable:
New-SMAConfiguration -ConfigurationName 'Config1' -SMAHost 'securemail.myseppmail.tld' -Credential $tokencred -SMASkipCertCheck $false
Die neu angelegte, sowie eventuell bereits vorhandene Konfigurationen können nun aufgelistet werden
Get-SMAConfiguration -List
Die Ausgabe sollte daraufhin in etwa wie folgt aussehen:
ConfigName UserName SMAHost SMAPort SMASkipCertCheck SMAPIVersion Active
Cfg
---------- -------- ------- ------- ---------------- ------------ ---------
demo SIag57raUsdsEa7JKUG35423KgfhBhNZ 172.16.161.99 8445 True v1 True
Config1 gg65KGzgz767ew2TF56GZgu556GgzZ7h securemail.meinefirma.tld 8445 False v1 False
Nachdem mehrere SEPPmailAPI Konfigurationen parallel möglich sind, ist eine Konfiguration (im Beispiel die neu angelegte Config1) als Standard zu setzen
Set-SMAConfiguration -ConfigurationName Config1 -SetAsDefault
Die Funktionsfähigkeit der Konfigurationen und somit der Konnektivität zu den jeweiligen SEPPmail Secure E-Mail Gateways (im Beispiel die neu angelegte Config1) kann nun getestet werden
Test-SMAConfiguration -ConfigurationName Config1
Weiterführende Informationen hierzu sind auch unter <https://github.com/seppmail//SEPPmailAPI zu finden.
Administrieren des SEPPmail Secure E-Mail Gateway:
Das SEPPmail Secure E-Mail Gateway dessen Konfiguration gerade aktiv ist kann nun administriert werden.
Hierfür stehen folgende Befehle zur Verfügung: https://docs.seppmail.com/api, beziehungsweise
Hilfe zu den nun möglichen Befehlen und deren Parameter kann zudem direkt im PowerShell abgefragt werden. Hierfür ist der Befehl
help <Befehl>
beziehungsweise
help <Befehl> -Parameter <Parameter>
zu verwenden.
Dabei ist bei den Parametern folgendes zu beachten:
Boolean werden gefolgt von $True oder $False und schalten dementsprechend die Option ein oder aus
String erfordert die Eingabe eines Strings. Enthält dieser Leerzeichen, so ist er durch Hochkommata, beispielsweise 'Das ist ein String' zu begrenzen.
Switch führt EINE Aktion durch. Um diese gegebenenfalls Rückgängig zu machen ist der Befehl erneut, ohne den unerwünschten Parameter auszuführen.
Weiterführende Informationen:
Ein HowTo Video (ca. 25 Minuten) hierzu ist unter https://www.youtube.com/watch?v=RHaZW7txxBg zu finden.