Filtri destinatario nei comandi di PowerShell di Exchange

I cmdlet di Exchange Management Shell e Exchange Online PowerShell supportano una vasta gamma di filtri nei cmdlet correlati ai destinatari:

  • Filtri predefiniti
  • Filtri personalizzati utilizzando il parametro RecipientFilter
  • Filtri personalizzati utilizzando il parametro Filter
  • Filtri personalizzati utilizzando il parametro ContentFilter

Le versioni precedenti di Exchange utilizzavano la sintassi del filtro LDAP per creare elenchi di indirizzi personalizzati, elenchi indirizzi globali (GAL), criteri degli indirizzi di posta elettronica e gruppi di distribuzione. La sintassi del filtro OPATH è stata sostituita dalla sintassi del filtro LDAP a partire da Exchange Server 2007.

Filtri predefiniti

Un filtro predefinito è un filtro di Exchange comunemente utilizzato che è possibile utilizzare per soddisfare una vasta gamma di criteri di filtro dei destinatari per la creazione di gruppi di distribuzione dinamici, criteri degli indirizzi di posta elettronica, elenchi di indirizzi o elenchi indirizzi globali. Con i filtri predefiniti, è possibile utilizzare Exchange PowerShell o l'interfaccia di amministrazione di Exchange (EAC). Utilizzando i filtri predefiniti è possibile effettuare le operazioni seguenti:

  • Determinare l'ambito dei destinatari.
  • Aggiungere filtri condizionali basati su proprietà di filtro quali società, dipartimento, stato o regione.
  • Aggiungere attributi personalizzati per i destinatari. Per ulteriori informazioni, vedere Custom Attributes.

I seguenti parametri sono considerati filtri predefiniti:

  • IncludedRecipients
  • ConditionalCompany
  • ConditionalDepartment
  • ConditionalStateOrProvince
  • ConditionalCustomAttribute1 a ConditionalCustomAttribute15 consentono.

I filtri predefiniti sono disponibili per i seguenti cmdlet:

Esempio di filtro predefinito

In questo esempio viene descritto l'utilizzo di filtri predefiniti 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 (OU) provengono i destinatari da includere? (Questa domanda corrisponde al parametro RecipientContainer.)

    Note

    La selezione dell'unità organizzativa (OU) per tale scopo è valida solo nella creazione di gruppi di distribuzione dinamici e non nella creazione di criteri degli indirizzi di posta elettronica, elenchi indirizzi o elenchi indirizzi globali (GAL).

  • Tipi di destinatario da includere? (Questa domanda corrisponde al parametro IncludedRecipients.)

  • Condizioni aggiuntive da includere nel filtro? (Questa domanda corrisponde ai parametri ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince e ConditionalCustomAttribute.)

In questo esempio viene creato il gruppo di distribuzione dinamico Contoso Finance per le cassette postali degli utenti nell'unità organizzativa (OU) Contoso.com/Users e viene specificata una condizione che include solo i destinatari che presentano 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 predefiniti non soddisfano le esigenze legate alla creazione o alla modifica dei gruppi di distribuzione dinamici, dei criteri degli indirizzi di posta elettronica e degli elenchi indirizzi, è possibile creare un filtro personalizzato utilizzando il parametro RecipientFilter.

Il parametro filtro destinatario è disponibile per i seguenti cmdlet:

Per ulteriori informazioni sulle proprietà filtrabili che è possibile utilizzare con il parametro RecipientFilter , vedere filterable Properties for the RecipientFilter Parameter.

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.

In questo esempio vengono utilizzati filtri personalizzati per creare un gruppo di distribuzione dinamico per le cassette postali degli utenti per i quali l'attributo Company è stato definito come Contoso e l'attributo Office come North Building.

New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientType -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, anziché recuperare tutti gli utenti o tutti i gruppi, è possibile specificare un insieme di utenti o gruppi utilizzando 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.

Se si utilizza il parametro Filter per modificare i risultati dei comandi, è noto come filtro sul fianco del server. Il filtro sul lato server invia il comando e il filtro al server per l'elaborazione. È inoltre supportato il filtro sul fianco 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 saranno disponibili 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 seguenti cmdlet di destinatario:

Per ulteriori informazioni sulle proprietà filtrabili che è possibile utilizzare con il parametro Filter , vedere filterable Properties for the Filter Parameter.

Esempio

In questo esempio il parametro Filter viene utilizzato 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 per cui nella cassetta postale di Ayla si cercano messaggi il cui corpo contiene la frase "company prospectus". Se la frase viene individuata, il comando esporta tutti i messaggi contenenti la frase in un file PST.

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

Per ulteriori informazioni sulle proprietà filtrabili che è possibile utilizzare con il parametro ContentFilter , vedere filterable Properties for the ContentFilter Parameter.

Ulteriori informazioni sulla sintassi OPATH

Quando si creano filtri di OPath personalizzati, prendere in considerazione gli elementi seguenti:

  • Utilizzare la seguente sintassi 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 questo limita i caratteri che è possibile utilizzare per racchiudere l'intero filtro OPath.

    • Variabili: racchiudere le variabili che devono essere espanse tra virgolette singole (ad esempio, '$User' ). Se il valore della variabile stesso contiene virgolette singole, è necessario identificare (sfuggire) le virgolette singole per espandere la variabile in modo corretto. Ad esempio, anziché '$User' utilizzare '$($User -Replace "'","''")' .

    • Valori integer: non è necessario racchiudere numeri interi (ad esempio, 500 ). È spesso possibile racchiudere numeri interi tra virgolette singole o virgolette doppie, ma questo limita i caratteri che è possibile utilizzare per racchiudere l'intero filtro OPath.

    • Valori di sistema: non includere i valori di sistema, ad esempio,, $true $false o $null . Per racchiudere l'intero filtro OPath tra virgolette doppie, è necessario sfuggire al valore del sistema di accesso al dollaro (ad esempio, `$true ).

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

    • Valori di testo: dipende da come è stato racchiuso il testo da cercare:

      • Testo racchiuso travirgolette 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.
    • Variables: racchiudere l'intero filtro OPATH tra virgolette doppie (ad esempio, "Name -eq '$User'" ).

    • Valori integer: dipende da come è stato racchiuso (o non è stato incluso) il numero intero da cercare:

      • Numero intero non incluso: racchiudere l'intero filtro OPATH tra virgolette doppie, virgolette singole o parentesi graffe (ad esempio, "CountryCode -eq 840" ).
      • Numero intero racchiuso travirgolette singole: racchiudere l'intero filtro OPATH tra virgolette doppie o parentesi graffe "CountryCode -eq '840'" .
      • Numero 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 sottrae il valore del sistema dei segni del dollaro, è anche possibile racchiudere l'intero filtro OPath tra virgolette doppie (ad esempio, "HiddenFromAddressListsEnabled -eq `$true" ).

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


Valore di ricerca Filtro OPath
racchiuso in
virgolette doppie
Filtro OPath
racchiuso in
virgolette singole
Filtro OPath racchiuso in
le parentesi graffe
'Text' Segno di spunta Segno di spunta
"Text" Segno di spunta
'$Variable' Segno di spunta
500 Segno di spunta Segno di spunta Segno di spunta
'500' Segno di spunta Segno di spunta
"500" Segno di spunta
$true Segno di spunta Segno di spunta
`$true Segno di spunta Segno di spunta Segno di spunta
  • Includere il segno meno prima di tutti gli operatori logici o di confronto. Gli operatori più comuni includono:

    • -and
    • -or
    • -not
    • -eq è uguale a
    • -ne (non uguale a)
    • -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. L'operatore -like viene utilizzato per trovare le corrispondenze dei modelli nei tipi ricchi, ad esempio le stringhe, mentre l'operatore -EQ viene utilizzato per trovare una corrispondenza esatta.

  • Per ulteriori informazioni sugli operatori che è possibile utilizzare, vedere:

Documentazione filtro destinatario

Nella tabella seguente sono contenuti i collegamenti agli argomenti che offrono ulteriori informazioni sulle proprietà filtrabili che si possono utilizzare nei comandi dei destinatari di Exchange.


Argomento Descrizione
Proprietà filtrabili per il parametro RecipientFilter nei cmdlet di Exchange Per ulteriori informazioni, vedere Proprietà filtrabili disponibili per il parametro RecipientFilter .
Proprietà filtrabili per il parametro Filter nei cmdlet di Exchange Per ulteriori informazioni, vedere Proprietà filtrabili disponibili per il parametro Filter .
Filtri nel modulo V2 EXO Informazioni sulle considerazioni relative ai filtri quando ci si connette a PowerShell di Exchange Online utilizzando il modulo di Exchange Online PowerShell v2.