PowerShell API-Wrapper Tutorial

API Wrapper Funktionen mit Parametern aufrufen

Viele MailStore Server Administration API Befehle erfordern die Angabe von Parametern. Selbstverständlich ist der MailStore PowerShell API Wrapper in der Lage, diese mittels Invoke-MSSApiCall zu übermitteln. Zur Erläuterung soll das folgende Beispielskript dienen, das im Beispielskriptpaket als Example2.ps1 enthalten ist.

Import-Module 'C:\MailStore Scripting Tutorial\PowerShell\API-Wrapper\MSS.PS.Lib.psd1'
$mssapiclient = New-MSSApiClient -Username admin -Password admin -MailStoreServer localhost -Port 8463 -Code JSON -IgnoreInvalidSSLCerts
$users = (Invoke-MSSApiCall $mssapiclient "GetUserList").Data
foreach ($user in $users) {(Invoke-MSSApiCall $mssapiclient "GetUserInfo" @{userName = $user.userName}).Data|fl}

Zunächst wird die Liste der MailStore Server Benutzer mittels des API Befehls GetUserList abgerufen. Dieser liefert ein Array mit Einträgen folgenden Aufbaus zurück:

userName          : abby.hernandez
fullName          : Abby Hernandez
distinguishedName : CN=Abby Hernandez,OU=tutorial,DC=example,DC=com

Über diese Einträge wird nun iteriert und dabei die userName Eigenschaft jedes Eintrags als Parameter des API Befehls GetUserInfo verwendet. Das Ergebnis für den o.g. Eintrag könnte wie folgt aussehen:

userName            : abby.hernandez
fullName            : Abby Hernandez
distinguishedName   : CN=Abby Hernandez,OU=tutorial,DC=example,DC=com
authentication      : directoryServices
emailAddresses      : {[email protected]}
pop3UserNames       : {}
privileges          : {login}
privilegesOnFolders : {@{folder=abby.hernandez; privileges=System.Object[]}}