Use Log Parser Studio to find Mailboxes that use POP3, IMAP and EWS

Hallo zusammen,

In diesem Blog Artikel zeige ich euch, wie man auf einem OnPrem Exchange Server herausfindet, welche Mailboxen POP3, IMAP oder EWS benutzen. Diese Informationen werden häufig für Exchange Migrationen benötigt und deshalb dokumentiere ich das hier.

Bei meinem Server hatte ich die POP3 und IMAP Services bereits deaktiviert und musste sie deshalb erstmal wieder starten.

Mit dem Get-ExchangeCertificate kann man prüfnen ob ein Zertifikat den Services POP3 (P) und IMAP (I) zugewiesen ist.

Bevor man das logging aktiviert, sollte man prüfen ob auf den Exchange Servern genügend freier Speicherplatz vorhanden ist.

####################################################################################

# FreeSpace of Exchange Servers

####################################################################################

$ExchangeServers = Get-ExchangeServer | where {$_.Serverrole -like "Mailbox*"}

Foreach ($ExchangeServer in $ExchangeServers)

{

$ServerName = $ExchangeServer.Name

Write-Host "Servername: $ServerName" -ForegroundColor Green

 

get-WmiObject win32_logicaldisk -Computername $Servername -Filter "DriveType=3" | foreach-object {write " $($_.caption) $('{0:N2}' -f ($_.Size/1gb)) GB total, $('{0:N2}' -f ($_.FreeSpace/1gb)) GB free "}

}

Nun kann das Logging für die Services aktiviert werden.

Set-ImapSettings -ProtocolLogEnabled $true -LogFileRollOverSettings Daily
Set-ImapSettings -ProtocolLogEnabled $true -LogFileRollOverSettings Daily 
Get-Service -Name MSExchangeImap* | Restart-Service
Get-Service -Name MSExchangepop3* | Restart-Service

Die Einstellungen kann man sich mit folgenden Befehlen anschauen

Get-PopSettings
Get-PopSettings | fl *log*

Get-ImapSettings
Get-ImapSettings | fl *log*

In den entsprechenden Log Folders gibt es dann die Logfiles. Je eines für den Frontend und Backend Service.

Zur Auswertung habe ich mir den Log Parser und das Log Parser Studio heruntergeladen. Das Tool erlaubt Logfiles (auch von mehreren Server gleichzeitig) abzufragen in einer Art SQL Abfrage darzustellen.

LogPharser 2.2

https://www.microsoft.com/en-us/download/details.aspx?id=24659

 

LogPharser Studio 2.2

https://gallery.technet.microsoft.com/office/Log-Parser-Studio-cd458765

Dafür müssen mit dem Log Button die Log Files oder Folder ausgewählt werden, das Logfile Format festgelegt und dessen Optionen festgelegt werden.

Zuerst wird der Folder der POP3 Logfiles ausgewählt

Das Logfile wird auf CSVLog gestellt und mit dem Zahnrad können noch weitere Einstellungen festgelegt werden. Die ersten 5 Zeilen sollen übersprungen werden.

Folgendes Query habe ich verwendet.

/* POP3 */

SELECT DISTINCT user FROM '[LOGFILEPATH]' where user <> NULL AND cip NOT LIKE '[fe80:%'

Hier das IMAP Logfile

Hier das IMAP Query welches ich verwendet habe

/* IMAP4 */
SELECT DISTINCT user FROM '[LOGFILEPATH]' where user <> NULL AND cip NOT LIKE '[fe80:%'

Auch für EWS habe ich noch eine Abfrage erstellt

 Das war deutlich komplexer. Schlussendlich habe ich folgenden Query zusammengestellt.

/*EWS */

SELECT DISTINCT AuthenticatedUser FROM '[LOGFILEPATH]' WHERE AuthenticatedUser IS NOT NULL AND AuthenticatedUser NOT LIKE '%NETWORK SERVICE' AND AuthenticatedUser NOT LIKE '%SYSTEM' AND AuthenticatedUser NOT LIKE 'HealthMailbox%' AND AuthenticatedUser NOT LIKE '%EUHEXCHP%' AND AuthenticatedUser NOT LIKE 'S-1-5-21%' AND UserAgent NOT LIKE '%Skype for Business%' AND UserAgent NOT LIKE '%Microsoft Lync%' AND UserAgent NOT LIKE 'curl%' AND UserAgent NOT LIKE '%Microsoft Outlook%' AND UserAgent NOT LIKE 'ExchangeServicesClient%' AND UserAgent NOT LIKE 'OC%' AND HttpStatus = 200

AND SoapAction NOT LIKE 'GetUserOofSettings' AND SoapAction NOT LIKE 'GetUserAvailability' AND SoapAction NOT LIKE 'GetAppMarketplaceUrl' AND SoapAction NOT LIKE 'GetAppManifests' AND SoapAction NOT LIKE 'GetServiceConfiguration' AND SoapAction NOT LIKE 'GetMailTips' AND SoapAction NOT LIKE 'GetRoomLists' AND SoapAction NOT LIKE 'GetRooms'

Grüsse
Andres Bohren