Da sich die PowerShell Befehle für den Exchange Server großer Beliebtheit erfreuen, habe ich mal ein paar neue Befehle hinzugefügt.
Exchange Server – ActiveSync
Liste aller ActiveSync Geräte
Get -ActiveSyncDevice | ft |
ActiveSync-Statistik eines Postfaches
Get -ActiveSyncDeviceStatistics -mailbox "manuel.maliszewski" |
Alle ActiveSync Geräte der OU „Ausgeschiedene User“ löschen
Get -ActiveSyncDevice -OrganizationalUnit "Ausgeschiedene User" | Remove -ActiveSyncDevice |
Exchange Server – Datenbanken
Übersicht über Datenbanken und deren Größe
Get -MailboxDatabase -Status | ft name, databasesize |
Übersicht über Datenbanken mit Informationen zu Retentation und Recoverable Quotas
Get -MailboxDatabase | Select Name, Server, MailboxRetention, Recoverab* | ft |
Exchange Server – Postfächer
Übersicht der Postfächer einer Datenbank – Sortiert nach letztem Login mit den Feldern: Benutzername, Größe, Datum der letzten Anmeldung, Letzte Anmeldung
Get -Mailbox -Database "Berlin II - Datenbank II" | Get -MailboxStatistics | Sort LastLogonTime | ft DisplayName, TotalItemSize, LastLogonTime, LastLoggedOnUserAccount |
Detailiert Übersicht eines Postfaches mit Unterordnern und dessen Größe
Get -MailboxFolderStatistics -identity "manuel.maliszewski" | ft FolderPath, FolderSize, ItemsInFolder, FolderAndSubfolderSize |
Alle Postfächer mit Weiterleitung
Get -Mailbox | Where-Object { $_.ForwardingAddress –ne $null } | Select Name, ForwardingAddress |
Alle Postfächer mit „Sende als“ und „volle Postfachberechtigung“
Get -Mailbox | Get -ADPermission | Where-Object { ($_.ExtendedRights -like "*send-as*" ) -and -not ($_.User -like "nt authority\self" ) } |
Postfächer auf die der Benutzer „chilli“ volle Berechtigungen hat
Get -Mailbox | Get -MailboxPermission | Where-Object { ($_.AccessRights -eq "*fullaccess*" ) -and ($_.User -like "*chilli*" ) } |
Exchange Server – Warteschlange
Warteschlange anzeigen auf Server S8K011
Warteschlangen Queue verschieben
./ Move -TransportDatabase .ps1 –QueueDatabasepath “C:\Queue” –QueueDatabaseLoggingPath “D:\Queue” |
Exchange Server – System
Alle Exchange-Dienste starten
Test -ServiceHealth | Select ServicesNotRunning | foreach { Start-Service $_.ServicesNotRunning } |
Exchange-Dienste Status in Tabelle
Testet die Exchange Organisation auf Fehler
Exchange Server – Verschiedenes
Sprache aller Postfächer auf dem Server S8K011 auf Deutsch setzen
Get -Mailbox -Server S8K011 | Set -Mailbox -language de -DE |
Sprache der Postfächer auf Server S8K012 anzeigen, nach Sprache sortieren und als Tabelle mit Namen und Sprache anzeigen
Get -Mailbox -Server S8K012 | sort Languages | ft name, Languages |
Liste der Benutzer die den Abwensenheitsassistenten aktiviert haben
Get -Mailbox | Get -MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState –eq “scheduled” } |
Datenbank – RPC CAS abfragen
Get -MailboxDatabase -Server s8k011 | fl name, rpc\* |
Datenbank-Index
Standardmäßig werden alle Datenbanken mit aktiviertem Index angelegt. in diesem Ordner wird der Index erstellt: %datenbankpfad%\CatalogData-Guid. Diesen kann man allerdings aktivieren:
Set -MailboxDatabase MailboxDatabaseName -IndexEnabled : $false |
Erste Datenbank löschen
Beim Installieren von Exchange Server 2010 wird automatisch eine Datenbank angelegt. Diese Läst sich nicht über die Gui löschen, auch wenn alle Postfächer verschoben sind. Darum muss man die
System-Postfächer verschieben:
Get -mailbox -Arbitration | New -MoveRequest -TargetDatabase "Berlin I - Postfach I" |
Danach muss man noch die Verschiebungsanforderungen löschen und die Datenbank ist entfernbar.
Quelle [2017-03-07]: http://chilltimes.de/2013/02/08/powershell-nutzliche-exchange-server-2010-befehle/