Filtri destinatario nei comandi di PowerShell per Exchange Online

I cmdlet in Exchange Management Shell e Exchange Online PowerShelll supportano diversi tipi di filtri nei cmdlet correlati ai destinatari:

  • Filtri pre-analizzati.
  • Filtri personalizzati che usano il parametro RecipientFilter .
  • Filtri personalizzati che usano il parametro Filter .
  • Filtri personalizzati che usano il parametro ContentFilter .

Le versioni precedenti di Exchange usavano la sintassi di filtro LDAP per creare elenchi di indirizzi personalizzati, elenchi di indirizzi globali (GAL), criteri di indirizzi di posta elettronica e gruppi di distribuzione. La sintassi del filtro OPATH ha sostituito la sintassi di filtro LDAP a partire da Exchange Server 2007.

Filtri predefiniti

Un filtro pre-analizzato usa le proprietà più diffuse in Exchange per filtrare i destinatari per gruppi di distribuzione dinamici, criteri di indirizzi di posta elettronica, elenchi di indirizzi o GAL. Con i filtri analizzati è possibile usare Exchange PowerShell o l'interfaccia di amministrazione di Exchange. Usando i filtri analizzati, è possibile eseguire le attività seguenti:

  • Determinare l'ambito dei destinatari.
  • Aggiungere filtri condizionali in base a proprietà comuni, ad esempio società, reparto e stato o area geografica.
  • Aggiungere attributi personalizzati per i destinatari. Per altre informazioni, vedere Attributi personalizzati.

I seguenti parametri sono considerati filtri predefiniti:

  • Includedrecipients
  • ConditionalCompany
  • ConditionalDepartment
  • Conditionalstateorprovince
  • Da ConditionalCustomAttribute1 a ConditionalCustomAttribute15.

I filtri analizzati sono disponibili nei cmdlet seguenti:

Esempio di filtro pre-analizzato

Questo esempio descrive l'uso di filtri pre-analizzati in Exchange Management Shell per creare un gruppo di distribuzione dinamico. La sintassi riportata in questo esempio è simile ma non identica alla sintassi utilizzata per creare un criterio dell'indirizzo di posta elettronica, un elenco indirizzi o un elenco indirizzi globale (GAL). Durante la procedura di creazione di un filtro predefinito, è necessario rispondere alle seguenti domande:

  • Da quale unità organizzativa si desidera includere i destinatari (il parametro RecipientContainer )?

    Nota

    La selezione dell'unità organizzativa a questo scopo si applica solo alla creazione di gruppi di distribuzione dinamici e non alla creazione di criteri di indirizzi di posta elettronica, elenchi di indirizzi o GAL.

  • Quali tipi di destinatari includere (il parametro IncludedRecipients )?

  • Quali condizioni aggiuntive si desidera includere nel filtro (parametri ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince e ConditionalCustomAttribute )?

In questo esempio viene creato un gruppo di distribuzione dinamico con le proprietà seguenti:

  • Nome: Contoso Finance.
  • Tipi di destinatario: cassette postali utente.
  • Percorso del destinatario: l'unità organizzativa denominata Contoso.com/Users.
  • Filtri Includere solo i destinatari con l'attributo Department definito come Finance e l'attributo Company definito come Contoso.
New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"

In questo esempio vengono visualizzate le proprietà del nuovo gruppo di distribuzione dinamico.

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

Filtri personalizzati utilizzando il parametro RecipientFilter

Se i filtri pre-analizzati non soddisfano le proprie esigenze, è possibile creare filtri personalizzati usando il parametro RecipientFilter . Questo parametro è disponibile nei cmdlet seguenti:

Per altre informazioni sulle proprietà filtrabili che è possibile usare con il parametro RecipientFilter , vedere Proprietà filtrabili per il parametro RecipientFilter.

Esempio di filtro personalizzato

Nell'esempio seguente viene utilizzato il parametro RecipientFilter per creare un gruppo di distribuzione dinamico. La sintassi dei comandi utilizzata in questo esempio è simile, ma non identica, alla sintassi utilizzata per creare un criterio dell'indirizzo di posta elettronica, un elenco indirizzi o un elenco indirizzi globale.

Questo esempio usa filtri personalizzati per creare un gruppo di distribuzione dinamico con le proprietà seguenti:

  • Nome: AllContosoNorth.
  • Tipi di destinatario: cassette postali utente.
  • Percorso del destinatario: l'unità organizzativa denominata Contoso.com/Users.
  • Filtri Includere solo i destinatari con l'attributo Company definito come Contoso e l'attributo Office definito come Edificio settentrionale.
New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientTypeDetails -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"

Filtri personalizzati utilizzando il parametro Filter

Il parametro Filter consente di filtrare i risultati di un comando allo scopo di specificare gli oggetti da recuperare. Ad esempio, invece di recuperare tutti gli utenti o i gruppi, è possibile specificare un set di utenti o gruppi usando una stringa di filtro. Questo tipo di filtro non modifica alcuna configurazione o attributo degli oggetti. Modifica solo l'insieme di oggetti restituiti dal comando.

L'utilizzo del parametro Filter per modificare i risultati dei comandi è noto come filtro sul lato server. Il filtro sul lato server invia il comando e il filtro al server per l'elaborazione. Sono supportati anche i filtri lato client, in cui il comando recupera tutti gli oggetti dal server e quindi applica il filtro nella finestra della console locale. Per eseguire il filtro sul lato client, utilizzare il cmdlet Where-Object. Per ulteriori informazioni sui filtri sul lato server e sul lato client, vedere "Come filtrare i dati" in Working with Command Output.

Per individuare le proprietà filtrabili per i cmdlet con parametro Filter, eseguire il comando Get su un oggetto e formattare l'output canalizzando il parametro Format-List. La maggior parte dei valori restituiti è disponibile per l'uso nel parametro Filter .

Nell'esempio seguente viene restituito un elenco dettagliato per la cassetta postale Ayla.

Get-Mailbox -Identity Ayla | Format-List

Il parametro Filter è disponibile per i cmdlet del destinatario seguenti:

Per altre informazioni sulle proprietà filtrabili che è possibile usare con il parametro Filter , vedere Proprietà filtrabili per il parametro Filter.

Esempio di parametro di filtro

In questo esempio viene utilizzato il parametro Filter per restituire informazioni sugli utenti il cui titolo contiene la parola "manager".

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

Filtri personalizzati utilizzando il parametro ContentFilter

Il parametro ContentFilter consente di selezionare contenuto specifico nei messaggi e di esportarlo quando si utilizza il cmdlet New-MailboxExportRequest. Se il comando individua un messaggio che contiene una corrispondenza al filtro contenuto, il messaggio viene esportato in un file PST.

Esempio di parametro ContentFilter

In questo esempio viene creata una richiesta di esportazione che cerca nella cassetta postale di Ayla i messaggi in cui il corpo contiene la frase "prospetto aziendale". Se tale frase viene trovata, il comando esporta tutti i messaggi con tale frase in un file pst.

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

Per altre informazioni sulle proprietà filtrabili che è possibile usare con il parametro ContentFilter , vedere Proprietà filtrabili per il parametro ContentFilter.

Ulteriori informazioni sulla sintassi OPATH

Quando si creano filtri OPATH personalizzati, considerare gli elementi seguenti:

  • Usare la sintassi seguente per identificare i tipi di valori che si sta cercando:

    • Valori di testo: racchiudere il testo tra virgolette singole (ad esempio, 'Value' o 'Value with spaces'). In alternativa, è possibile racchiudere un valore di testo tra virgolette doppie, ma ciò limita i caratteri che è possibile usare per racchiudere l'intero filtro OPATH.

    • Variabili: racchiudere le variabili che devono essere espanse tra virgolette singole , '$User'ad esempio . Se il valore della variabile stessa contiene virgolette singole, è necessario identificare (escape) le virgolette singole per espandere correttamente la variabile. Ad esempio, invece di '$User', usare '$($User -Replace "'","''")'.

    • Valori integer: non è necessario racchiudere i numeri interi , 500ad esempio . Spesso è possibile racchiudere interi tra virgolette singole o virgolette doppie, ma ciò limita i caratteri che è possibile usare per racchiudere l'intero filtro OPATH.

    • Valori di sistema: non racchiudere i valori di sistema, ad esempio , $true$falseo .$null Per racchiudere l'intero filtro OPATH tra virgolette doppie, è necessario eseguire l'escape del valore di sistema di accesso del dollaro , `$truead esempio .

  • È necessario racchiudere l'intero filtro OPATH tra virgolette doppie " " o virgolette singole ' '. Anche se qualsiasi oggetto filtro OPATH è tecnicamente una stringa e non un blocco di script, è comunque possibile usare parentesi graffe { }, ma solo se il filtro non contiene variabili che richiedono l'espansione. I caratteri che è possibile usare per racchiudere l'intero filtro OPATH dipendono dai tipi di valori cercati e dai caratteri usati (o non usati) per racchiudere tali valori:

    • Valori di testo: dipende dal modo in cui è stato racchiuso il testo da cercare:

      • Testo racchiuso tra virgolette singole: racchiudere l'intero filtro OPATH tra virgolette doppie o parentesi graffe.
      • Testo racchiuso tra virgolette doppie: racchiudere l'intero filtro OPATH tra parentesi graffe.
    • Variabili: racchiudere l'intero filtro OPATH tra virgolette doppie , "Name -eq '$User'"ad esempio .

    • Valori integer: dipende dal modo in cui è stato racchiuso (o non racchiuso) l'intero da cercare:

      • Intero non racchiuso: racchiudere l'intero filtro OPATH tra virgolette doppie, virgolette singole o parentesi graffe (ad esempio "CountryCode -eq 840").
      • Intero racchiuso tra virgolette singole: racchiudere l'intero filtro OPATH tra virgolette doppie o parentesi "CountryCode -eq '840'"graffe.
      • Intero racchiuso tra virgolette doppie: racchiudere l'intero filtro OPATH tra parentesi graffe (ad esempio {CountryCode -eq "840"}).
    • Valori di sistema: racchiudere l'intero filtro OPATH tra virgolette singole o parentesi graffe (ad esempio 'HiddenFromAddressListsEnabled -eq $true'). Se si esegue l'escape del valore di sistema del segno di dollaro, è anche possibile racchiudere l'intero filtro OPATH tra virgolette doppie , "HiddenFromAddressListsEnabled -eq `$true"ad esempio .

    La compatibilità dei criteri di ricerca e dei caratteri validi che è possibile usare per racchiudere l'intero filtro OPATH è riepilogata nella tabella seguente:

    Valore di ricerca Filtro OPATH
    racchiuso in
    Virgolette
    Filtro OPATH
    racchiuso in
    virgolette singole
    Filtro OPATH racchiuso in
    apparecchio per i denti
    'Text'
    "Text"
    '$Variable'
    500
    '500'
    "500"
    $true
    `$true
  • Includere il trattino prima di tutti gli operatori logici o di confronto. Gli operatori più comuni includono:

    • -and
    • -or
    • -not
    • -eq (uguale a)
    • -ne (diverso da uguale)
    • -lt (inferiore a)
    • -gt (maggiore di)
    • -like (confronto tra stringhe)
    • -notlike (confronto tra stringhe)
  • Molte proprietà filtrabili accettano caratteri jolly. Se si utilizza un carattere jolly, utilizzare l'operatore -like invece dell'operatore -eq. Usare l'operatore -like per trovare corrispondenze di criteri in tipi avanzati, ad esempio stringhe. Usare l'operatore -eq per trovare una corrispondenza esatta.

    Quando si usa l'operatore -like in Exchange Online PowerShell, il carattere jolly è supportato solo come suffisso nella maggior parte dei parametri. Ad esempio, "Department -like 'sales*'" è consentito, ma "Department -like '*sales'" non è consentito.

    Consiglio

    Anche se un prefisso con caratteri jolly funziona in un parametro di filtro in Exchange Online PowerShell, non è consigliabile usarlo a causa di problemi di prestazioni ridotte.

  • Per altre informazioni sugli operatori che è possibile usare, vedere:

Documentazione filtro destinatario

La tabella seguente contiene collegamenti ad articoli che consentono di ottenere altre informazioni sulle proprietà filtrabili che è possibile usare con i comandi del destinatario di Exchange.

Articolo Descrizione
Proprietà filtrabili per il parametro RecipientFilter nei cmdlet di Exchange Altre informazioni sulle proprietà filtrabili disponibili per il parametro RecipientFilter .
Proprietà filtrabili per il parametro Filter nei cmdlet di Exchange Altre informazioni sulle proprietà filtrabili disponibili per il parametro Filter .
Filtri nel modulo Exchange Online PowerShell Informazioni sulle considerazioni relative ai filtri nei nove cmdlet Get-EXO* esclusivi nel modulo Exchange Online PowerShell.