Exchangebefehle, die man immer mal braucht

Herausfinden von verschobenen Postfächern, die noch nicht in der Datenbank gelöscht sind.

Get-MailboxStatistics -Database MBDBsrv2019 | where {$_.DisconnectReason -eq "SoftDeleted"} | Format-Table Displayname,database, DisconnectDate

Hier wird die Datenbank MBDBsrv2019 abgefragt, welche Postfächer „Softdeleted“ sind und somit nicht mehr mit einem Account verbunden sind.

Generelle Abfrage in allen Datenbanken, die nicht verbunden sind.

$dbs = Get-MailboxDatabase
$dbs | foreach {Get-MailboxStatistics -Database $_.DistinguishedName} | where {$_.DisconnectReason -ne $null} | Format-List DisplayName,MailboxGuid,Database,DisconnectReason

Um eines des Postfächer zu löschen folgende Befehle eingeben:

Remove-StoreMailbox -Database MBD01 -Identity "Dan Jump" -MailboxState SoftDeleted

Remove-StoreMailbox -Database MBD01 -Identity "2ab32ce3-fae1-4402-9489-c67e3ae173d3" -MailboxState Disabled

Wer mutig ist :-D, kann das auch per Skript erledigen lassen:

Get-MailboxStatistics -Database MBDBsrv2019 | where {$_.DisconnectReason -eq "SoftDeleted"} | ForEach {Remove-StoreMailbox -Database $_.Database -Identity $_.MailboxGuid -MailboxState SoftDeleted}

Falls mal die Management Shell ohne Exchange Erweiterung startet, folgenden Befehl eingeben, der lädt die entsprechende Erweiterung

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

Um allgemein die Lesebestätigungen auf allen Postfächern für Mobilgeräte zu deaktivieren:

Get-Mailbox -RecipientTypeDetails UserMailbox | Set-CASMailbox -ActiveSyncSuppressReadReceipt $true

Abwesenheitsnotiz einrichten als Admin

Set-MailboxAutoReplyConfiguration -Identity "USER" -AutoReplyState Enabled -ExternalMessage "Sehr geehrte Damen und Herren, <br>vielen Dank für Ihre E-Mail. Ich bin nicht da.<br><br>
Mit freundlichen Grüßen <br>Hauke Voß"

admin has written 108 articles