Empfängerfilter in Exchange PowerShell-Befehlen

Sie können mehrere Exchange-Verwaltungsshell und Exchange Online PowerShell-Befehle verwenden, um eine Gruppe von Empfängern zu filtern. Sie können die folgenden Filtertypen in einem Exchange-Befehl erstellen:

  • Musterfilter

  • Benutzerdefinierte Filter mithilfe des Parameters RecipientFilter

  • Benutzerdefinierte Filter mit dem Parameter " Filter "

  • Mit dem Parameter ContentFilter erstellte benutzerdefinierte Filter

In älteren Exchange-Versionen wurde die LDAP-Filtersyntax verwendet, um benutzerdefinierte Adresslisten, globale Adresslisten (GALs), E-Mail-Adressrichtlinien und Verteilergruppen zu erstellen. In Exchange Server 2007 und höheren Versionen ersetzte die Myopathie-Filtersyntax die LDAP-Filtersyntax.

Musterfilter

Ein Musterfilter ist ein häufig verwendeter Exchange-Filter, den Sie verwenden können, um eine Vielzahl von Kriterien zur Empfängerfilterung zum Erstellen dynamischer Verteilergruppen, e-Mail-Adress Richtlinien, Adresslisten oder GALs zu erfüllen. Mit Musterfiltern können Sie entweder die Exchange PowerShell oder das Exchange Admin Center (EAC) verwenden. Mithilfe von Musterfiltern können Sie Folgendes tun:

  • Bestimmen des Empfängerbereichs.

  • Hinzufügen bedingter Filter auf Grundlage von Eigenschaften, z. B. Firma, Abteilung, Bundesland oder Region.

  • Hinzufügen benutzerdefinierter Attribute für Empfänger. Weitere Informationen finden Sie unter Custom Attributes.

Die folgenden Parameter werden als Musterfilter betrachtet:

  • IncludedRecipients

  • ConditionalCompany

  • ConditionalDepartment

  • ConditionalStateOrProvince

  • ConditionalCustomAttribute1 zu ConditionalCustomAttribute15 werden.

Musterfilter stehen für die folgenden Cmdlets zur Verfügung:

Beispiel für Musterfilter

In diesem Beispiel wird die Verwendung von Musterfiltern in der Exchange-Verwaltungsshell zum Erstellen einer dynamischen Verteilergruppe beschrieben. Die Syntax in diesem Beispiel ähnelt der Syntax zur Erstellung einer E-Mail-Adressrichtlinie, Adressrichtlinie oder GAL, ist aber nicht mit dieser identisch. Wenn Sie einen Musterfilter erstellen, sollten Sie sich die folgenden Fragen stellen:

  • Aus welcher Organisationseinheit (Organizational Unit, OU) sollen Empfänger eingeschlossen werden? (Diese Frage entspricht dem Parameter RecipientContainer.)

Note

Das Auswählen der OU für diesen Zweck gilt nur für das Erstellen dynamischer Verteilergruppen, nicht für das Erstellen von E-Mail-Adressrichtlinien, Adresslisten oder GALs.

  • Welche Empfängertypen sollen einbezogen werden? (Diese Frage entspricht dem Parameter IncludedRecipients.)

  • Welche zusätzlichen Bedingungen sollen in den Filter aufgenommen werden? (Diese Frage entspricht den Parametern ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince und ConditionalCustomAttribute.)

In diesem Beispiel wird die dynamische Verteilergruppe "Contoso Finance" für Postfächer in der OU "Contoso.com/Users" erstellt. Zusätzlich wird eine Bedingung angegeben, nach der nur Empfänger einbezogen werden, bei denen das Attribut Department als "Finance" definiert ist und deren Attribut Company den Wert "Contoso" aufweist.

New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"

In diesem Beispiel werden die Eigenschaften dieser neuen dynamischen Verteilergruppe angezeigt.

Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*

Mit dem Parameter "RecipientFilter" erstellte benutzerdefinierte Filter

Wenn Musterfilter nicht Ihren Anforderungen für das Erstellen oder Ändern dynamischer Verteilergruppen, E-Mail-Adressrichtlinien und Adresslisten entsprechen, können Sie mithilfe des Parameters RecipientFilter einen benutzerdefinierten Filter erstellen.

Der Empfängerfilterparameter steht für die folgenden Cmdlets zur Verfügung:

Weitere Informationen zu den filterbaren Eigenschaften, die Sie mit dem Parameter RecipientFilter verwenden können, finden Sie unter Filterable Properties for the RecipientFilter Parameter.

Beispiel für einen benutzerdefinierten Filter

In diesem Beispiel wird der Parameter RecipientFilter zum Erstellen einer dynamischen Verteilergruppe verwendet. Die Syntax in diesem Beispiel ähnelt der Syntax zum Erstellen einer E-Mail-Adressrichtlinie, Adressliste oder GAL, ist aber nicht mit dieser identisch.

In diesem Beispiel wird anhand von benutzerdefinierten Filtern eine dynamische Verteilergruppe für Postfächer erstellt, deren Attribut Company als "Contoso" definiert ist und deren Attribut Office den Wert "North Building" aufweist.

New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientType -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"

Mit dem Parameter "Filter" erstellte benutzerdefinierte Filter

Sie können mit dem Parameter Filter die Ergebnisse eines Befehls filtern und so angeben, welche Objekte abgerufen werden sollen. Anstatt beispielsweise alle Benutzer oder Gruppen abzurufen, können Sie mehrere Benutzer oder Gruppen angeben, die mit einer Filterzeichenfolge abgerufen werden sollen. Mit diesem Filtertyp werden weder die Konfiguration noch Attribute von Objekten geändert. Es wird lediglich die Gruppe von Objekten geändert, die durch den Befehl zurückgegeben wird.

Die Verwendung des Parameters " Filter " zum Ändern von Befehlsergebnissen wird als serverseitige Filterung bezeichnet. Bei der serverseitigen Filterung werden der Befehl und der Filter zur Verarbeitung an den Server übergeben. Wir unterstützen auch die clientseitige Filterung, bei der der Befehl alle Objekte vom Server abruft und dann den Filter im lokalen Konsolenfenster anwendet. Die clientseitige Filterung wird mit dem Cmdlet Where-Object durchgeführt. Weitere Informationen zu server- und clientseitiger Filterung finden Sie unter "Filtern von Daten" in Working with Command Output.

Um die filterbaren Eigenschaften für Cmdlets zu ermitteln, die den Parameter Filter verwenden, können Sie den Befehl Get für ein Objekt ausführen und die Ausgabe durch Weiterleitung des Parameters Format-List formatieren. Die meisten der zurückgegebenen Werte stehen zur Verwendung im Parameter Filter zur Verfügung. Das folgende Beispiel gibt eine detaillierte Liste für das Postfach "Ayla" zurück.

Get-Mailbox -Identity Ayla | Format-List

Der Parameter Filter steht für die folgenden Empfänger-Cmdlets zur Verfügung:

Weitere Informationen zu den filterbaren Eigenschaften, die Sie mit dem Parameter Filter verwenden können, finden Sie unter Filterable Properties for the Filterparameter.

Beispiel

In diesem Beispiel wird der Parameter Filter verwendet, um Informationen zu Benutzern zurückzugeben, bei denen das Wort "Manager" im Titel erscheint.

Get-User -Filter "Title -like 'Manager*'"

Mit dem Parameter "ContentFilter" erstellte benutzerdefinierte Filter

Sie können den Parameter ContentFilter verwenden, um bei Verwendung des Cmdlets New-MailboxExportRequest spezifische Nachrichteninhalte zu exportieren. Wenn über den Befehl eine Nachricht gefunden wird, die mit dem Inhaltsfilter übereinstimmt, wird die Nachricht in eine PST-Datei exportiert.

ContentFilter-Parameter (Beispiel)

In diesem Beispiel wird eine Exportanforderung erstellt, die das Postfach von Ayla nach Nachrichten durchsucht, deren Text die Zeichenfolge "company prospectus" enthält. Wird diese Zeichenfolge gefunden, exportiert der Befehl alle entsprechenden Nachrichten in eine PST-Datei.

New-MailboxExportRequest -Mailbox Ayla -ContentFilter "Body -like 'company prospectus*'"

Weitere Informationen zu den filterbaren Eigenschaften, die Sie mit dem ContentFilter -Parameter verwenden können, finden Sie unter Filterbare Eigenschaften für den ContentFilter-Parameter.

Weitere Informationen zur OPATH-Syntax

Berücksichtigen Sie beim Erstellen Ihrer eigenen benutzerdefinierten Myopathie-Filter die folgenden Elemente:

  • Verwenden Sie die folgende Syntax, um die Typen von Werten zu identifizieren, nach denen Sie suchen:

    • Textwerte: Schließen Sie den Text in einfache Anführungszeichen ein 'Value' ( 'Value with spaces'beispielsweise oder). Sie können auch einen Textwert in doppelte Anführungszeichen einschließen, aber dadurch werden die Zeichen eingeschränkt, die Sie zum Einschließen des gesamten Myopathie-Filters verwenden können.

    • Variablen: Schließen Sie Variablen ein, die in einfache Anführungszeichen (beispielsweise '$User') erweitert werden müssen. Wenn der Variablenwert selbst einfache Anführungszeichen enthält, müssen Sie die einzelnen Anführungszeichen (Escape) identifizieren, um die Variable ordnungsgemäß zu erweitern. Verwenden Sie '$($User -Replace "'","''")'beispielsweise anstelle '$User'von.

    • Ganzzahlige Werte: Sie müssen keine ganzen Zahlen einschließen (beispielsweise 500). Sie können ganze Zahlen häufig in einfache Anführungszeichen oder in doppelte Anführungszeichen einschließen, aber das schränkt die Zeichen ein, die Sie zum Einschließen des gesamten Myopathie-Filters verwenden können.

    • System Werte: Schließen Sie keine System Werte ein (beispielsweise $true $false,, oder $null). Wenn Sie den gesamten Myopathie-Filter in doppelte Anführungszeichen einschließen möchten, müssen Sie dem Wert für das Dollarzeichen im System `$trueentkommen (beispielsweise).

  • Sie müssen den gesamten Myopathie-Filter in doppelte Anführungszeichen "oder" einfache Anführungszeichen "einschließen. Obwohl ein Myopathie-Filterobjekt technisch eine Zeichenfolge und kein Skriptblock ist, können Sie dennoch geschweifte Klammern {} verwenden, allerdings nur, wenn der Filter keine Variablen enthält, die eine Erweiterung erfordern. Die Zeichen, die Sie zum Einschließen des gesamten Myopathie-Filters verwenden können, hängen von den von Ihnen gesuchten Wertetypen und den Zeichen ab, die Sie verwendet haben (oder nicht verwendet), um diese Werte einzuschließen:

    • Textwerte: hängt davon ab, wie Sie den zu suchenden Text eingeschlossen haben:

      • In einfache Anführungszeichen eingeschlossener Text: Schließen Sie den gesamten Myopathie-Filter in doppelte Anführungszeichen oder geschweifte Klammern ein.

      • In doppelte Anführungszeichen eingeschlossener Text: Schließen Sie den gesamten Myopathie-Filter in geschweifte Klammern ein.

    • Variablen: Schließen Sie den gesamten Myopathie "Name -eq '$User'"-Filter in doppelte Anführungszeichen ein (beispielsweise).

    • Ganzzahlige Werte: hängt davon ab, wie Sie die zu suchende ganze Zahl umschlossen (oder nicht einschließen):

      • Ganze Zahl nicht eingeschlossen: Schließen Sie den gesamten Myopathie-Filter in doppelte Anführungszeichen, einfache Anführungszeichen oder "CountryCode -eq 840"geschweifte Klammern ein (beispielsweise).

      • Ganze Zahl in einfache Anführungszeichen eingeschlossen: Schließen Sie den gesamten Myopathie "CountryCode -eq '840'"-Filter in doppelte Anführungszeichen oder geschweifte Klammern ein.

      • Ganze Zahl in doppelte Anführungszeichen eingeschlossen: Schließen Sie den gesamten Myopathie-Filter in geschweifte Klammern ein (beispielsweise {CountryCode -eq "840"}).

    • System Werte: Schließen Sie den gesamten Myopathie-Filter in einfache Anführungszeichen oder geschweifte 'HiddenFromAddressListsEnabled -eq $true'Klammern ein (beispielsweise). Wenn Sie dem Wert für das Dollarzeichen System entkommen, können Sie den gesamten Myopathie-Filter auch in doppelte Anführungszeichen einschließen "HiddenFromAddressListsEnabled -eq `$true"(beispielsweise).

    Die Kompatibilität der Suchkriterien und der gültigen Zeichen, die Sie verwenden können, um den gesamten Myopathie-Filter einzuschließen, sind in der folgenden Tabelle zusammengefasst:

    Such Wert Myopathie-Filter
    in doppelte Anführungszeichen eingeschlossen
    Myopathie-Filter
    in einfache Anführungszeichen eingeschlossen
    In geschweifte
    Klammern eingeschlossene Myopathie-Filter
    'Text' Häkchen Häkchen
    "Text" Häkchen
    '$Variable' Häkchen
    500 Häkchen Häkchen Häkchen
    '500' Häkchen Häkchen
    "500" Häkchen
    $true Häkchen Häkchen
    `$true Häkchen Häkchen Häkchen
  • Setzen Sie vor alle Operatoren einen Bindestrich. Zu den am häufigsten verwendeten Operatoren gehören:

    • -und

    • -oder

    • -nicht

    • -EQ (gleich)

    • -ne (ungleich)

    • -lt (kleiner als)

    • -gt (größer als)

    • -like (Zeichenfolgenvergleich)

    • -notlike (Zeichenfolgenvergleich)

  • Viele Filterbare Eigenschaften akzeptieren Platzhalterzeichen. Wenn Sie ein Platzhalterzeichen verwenden, verwenden Sie den -like- Operator anstelle des -EQ- Operators. Der -like- Operator wird verwendet, um Musterübereinstimmungen in Rich-Typen zu finden (beispielsweise Zeichenfolgen), während der -EQ- Operator verwendet wird, um eine exakte Übereinstimmung zu finden.

  • Weitere Informationen zu den Operatoren, die Sie verwenden können, finden Sie unter:

Dokumentation zu Empfängerfiltern

Die folgende Tabelle enthält Links zu Themen mit weiteren Informationen zu den filterbaren Eigenschaften, die Sie mit Befehlen für Exchange-Empfänger nutzen können.

Thema Beschreibung
Filterbare Eigenschaften für den Parameter "RecipientFilter" Erfahren Sie mehr über die filterbaren Eigenschaften, die für den Parameter RecipientFilter verfügbar sind.
Filterbare Eigenschaften für den Parameter "Filter" Erfahren Sie mehr über die filterbaren Eigenschaften, die für den Parameter Filter verfügbar sind.