torcidabb
Goto Top

Exchange 2016 - Ungenutzte Postfächer

Hallo zusammen,

wir haben bei uns im Unternehmen sehr viele zentrale Postfächer (Abteilungen, Projekte, etc) und nutzen Exchange Server 2016.
Nun möchten wir gerne ein wenig aufräumen und Postfächer herausfinden, welche nicht mehr in Nutzung sind. Über Google konnte ich bisher nichts brauchbares finden.

Gibt es einen Powershellscript, mit welchem ich z.B. auslesen kann wann an den Postfächern zuletzt eine Email versendet wurde oder ankam?
Eine Auflistung mit Postfachname, letzter Emailversand/eingang, sowas in der Art.
Ich konnte nur etwas wegen Verteilerlisten finden, aber nichts passenden zu Postfächern.

Viele Grüße und Danke

Content-ID: 6112031200

Url: https://administrator.de/forum/exchange-2016-ungenutzte-postfaecher-6112031200.html

Ausgedruckt am: 21.04.2025 um 08:04 Uhr

3063370895
3063370895 24.02.2023 aktualisiert um 12:20:51 Uhr
Goto Top
Hi,
versuchs mal mit
Get-MailboxStatistics -Database * | Sort LastLogonTime -Descending  | select DisplayName,LastLogonTime

Wenn du nur die anzeigen willst, die z.B: länger als 180 Tage nicht angemeldet waren:

$date = (get-date).AddDays(-180)
Get-MailboxStatistics -Database *| Where-Object LastLogonTime -lt $date | Sort LastLogonTime | select DisplayName,LastLogonTime
erikro
erikro 24.02.2023 um 12:22:53 Uhr
Goto Top
Moin,

als Anregung:

get-mailboxstatistics
Get-MessageTrackingLog

Der erste Befehl liefert Dir unter anderem LastLogon. Mit dem zweiten Befehl kannst Du filtern, wann Mails geschickt/empfangen wurden.

hth

Erik
3063370895
3063370895 24.02.2023 um 12:25:44 Uhr
Goto Top
Zitat von @chaot1coz:

Hi,
versuchs mal mit
Get-MailboxStatistics -Database * | Sort LastLogonTime -Descending  | select DisplayName,LastLogonTime

Wenn du nur die anzeigen willst, die z.B: länger als 180 Tage nicht angemeldet waren:

$date = (get-date).AddDays(-180)
Get-MailboxStatistics -Database *| Where-Object LastLogonTime -lt $date | Sort LastLogonTime | select DisplayName,LastLogonTime

Wenn man dann noch ein bisschen das Rauschen rausfiltern möchte:

$date = (get-date).AddDays(-180)
Get-MailboxStatistics -Database *| Where-Object -FilterScript {$_.DisplayName -notlike "SystemMailbox*" -and $_.DisplayName -notlike "*HealthMailbox*" -and $_.MailboxTypeDetail -eq "UserMailbox" -and $_.LastLogonTime -lt $date }| Sort LastLogonTime | Select DisplayName,LastLogonTime  
Hubert.N
Hubert.N 24.02.2023 um 12:27:25 Uhr
Goto Top
Moin

das wird wohl schwierig werden. Grundsätzlich kann man diese Info über Get-MessageTrackingLog abfragen.
Problem bei der Sache ist aber, dass die Logs normalerweise nur für 30 Tage vorgehalten werden.

Gruß
MacLeod
MacLeod 25.02.2023 um 20:30:35 Uhr
Goto Top
Hallo
Nichts einfacher als das. Ein Blick in die Archivierung ins jeweilige Postfach unter Posteingang oder gesendete Objekte.
MfG,
MacLeod
TorcidaBB
TorcidaBB 27.02.2023 um 13:21:29 Uhr
Goto Top
Hallo zusammen,

danke für die Rückmeldungen.
Mit der Info über den LastLogon können wir die User rausfiltern welche nicht mehr aktiv sind.
Allerdings haben wir über 300 zentrale Postfächer, welche irgendwann eingerichtet wurden, hinter denen ein AD-User hängt, welcher deaktiviert ist und sich nie angemeldet hat.
Hier wäre dann die Abfrage über Get-MessageTrackingLog spannend, auch wenn die Logs der letzten 30 Tage vorhanden sind.
Ich versuch mal hier einen Befehl zusammen zu basteln, damit eine zentrale Abfrage läuft und alle Postfächer abfragt (oder zumindest derer Postfächer ohne LastLogon Datum).