Suchen Sie mithilfe von Powershell nach Benutzern, die ihre E-Mails in Exchange 2010 automatisch weiterleiten / umleiten

8

Wir verwenden Live @ edu, einen im Wesentlichen gehosteten Exchange-Server mit einigen zusätzlichen Funktionen und Einschränkungen, die umgangen werden müssen, und ich versuche, alle zu finden, die E-Mails von ihren Konten weiterleiten oder umleiten.

Ich versuche, alte Konten zu entfernen, die nicht verwendet wurden, aber wir haben Anweisungen für Benutzer zum Umleiten von E-Mails. Daher sollten wir erwarten, dass einige Benutzer tatsächlich ihre E-Mails umleiten, wodurch ihre letzten Anmelde- / Abmeldezeiten nicht widerspiegeln, ob sie es sind in der Tat mit Regeln für die automatische Weiterleitung oder automatische Umleitung.

Wie kann ich mithilfe von Exchange 2010 Powershell-Cmdlets eine Liste von Benutzern mit Weiterleitungs- oder Umleitungsregeln finden?

/ EDIT: Für meine Zwecke kann es ausreichend sein, herauszufinden, ob es irgendwelche serverseitigen Regeln gibt, unabhängig davon, ob die Regel weiterleitet / umleitet oder eine andere Aktion ausführt.

Ryan H.
quelle

Antworten:

8

Du meinst wie

get-mailbox -Filter { ForwardingAddress -like '*' } | select-object Name,ForwardingAddress

? Oder eher "Posteingangsregeln", die Ihre Benutzer in Outlook oder OWA erstellt hätten? Letzteres sollte schwieriger sein, aber Rohrleitungen

$mbox = Get-Mailbox; $mbox | Foreach { Get-InboxRule -Mailbox $_ }

(Ryan, danke, dass Sie die Syntax hier getestet und korrigiert haben) und einige Filter für Regeln, die nicht weitergeleitet oder umgeleitet werden, sollten den Trick tun.

the-wabbit
quelle
4

Ich fand die folgenden PowerShell-Befehle hilfreich.

So finden Sie Weiterleitungsregeln:

 foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> d:\Forward_Rule.txt }

So finden Sie Weiterleitungsregeln:

 foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo >> d:\Redirect_Rule.txt }

Quelle: Microsoft TechNet-Foren

Amit SHah
quelle
3

Danke für diese Befehle.

Hier ist, was ich letztendlich verwendet habe, um Regeln zu finden, die weiterleiten oder umleiten ...

foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.RedirectTo -or $_.ForwardTo -and -not ($_.description -match "If the message") } | fl MailboxOwnerId,Description >> rules.txt }

Das ist, um Konten zu finden, die im Grunde die Mailbox als Relay verwenden, um alles an ein anderes Konto zu senden. Ich dachte, es könnte für einige hilfreich sein.

BradleyMorgan
quelle