none
Utiliser Filter sur une commande avec 2 critères RRS feed

  • Question

  • Bonjour,

    Je cherche à récupérer toutes les ressources de type SALLE dont l'adresse smtp ne se finit pas en onmicorosoft.com.

    La commande suivante fonctionne :

    get-mailbox -ResultSize unlimited -Filter "recipientTypeDetails -eq 'roomMailbox'" | where {$_.PrimarySmtpAddress -notlike "*onmicrosoft.com"}

    Or nous avons un tenant avec plusieurs dizaines de milliers de mailbox, une requête optimisée serait de combiner les 2 critères dans le même filtre. J'ai donc essayé la commande suivante :

    get-mailbox -ResultSize unlimited -Filter 'recipientTypeDetails -eq "roomMailbox" -and PrimarySmtpAddress -notlike "*onmicrosoft.com"'

    Mais cette dernière me renvoie toutes les salles, y compris si l'adresse se termine en onmicrosoft.com.

    Pourquoi est ce que mon deuxième critère n'est pas pris en compte ?

    Merci

    jeudi 7 novembre 2019 14:08

Réponses

  • Bonjour,

    pour les perf, vous pouvez enlever une recherche :

    Get-Mailbox -resultsize unlimited -RecipientTypeDetails roommailbox | where {$_.PrimarySmtpAddress -notlike "*onmicrosoft.com"}

    Olivier.

    • Marqué comme réponse Alain Lcz lundi 6 avril 2020 07:35
    vendredi 8 novembre 2019 13:32

Toutes les réponses

  • Bonjour,

    Je pense que le filtre est mal interprété, faute d'accolades. Vous devriez essayer comme cela :

    get-mailbox -ResultSize unlimited -Filter {(recipientTypeDetails -eq "roomMailbox") -and (PrimarySmtpAddress -notlike "*onmicrosoft.com")}

    Ou bien en 2 fois : récupération des rootMailboxes, puis de celles en *onmicrosoft.com" :

    get-mailbox -ResultSize unlimited -Filter {recipientTypeDetails -eq "roomMailbox"}|Where {$_.PrimarySmtpAddress -notlike "*onmicrosoft.com"}

    Après, il faut savoir que les requêtes utilisant -like ou -notlike sont peu performantes : peut-être devriez-vous utiliser un autre critère (Organization, Company, ou autre) qui vous permettrait de regrouper les mailboxes de la même manière ?


    Cordialement,

    Sylvain (MCP, MCTS Windows Server 2008 R2 Server Virtualization, MCTS Exchange 2010)

    WWW : http://snsv.consulting | Blog : http://sylvaincoudeville.fr

    "Aléatoire" et "Mystérieux" sont des qualificatifs inventés par l'Homme pour éviter de dire qu'il n'a pas trouvé la root cause du problème...

    vendredi 8 novembre 2019 08:28
  • Merci beaucoup pour votre réponse, 

    ça ne semble pas être un problème d'accolade, le résultat étant toujours faux.

    Votre deuxième requête avec un Where fonctionne bien mais je voudrais l'éviter car nous allons bientôt avoir plusieurs milliers de salles et cela posera des problèmes de performance ou de temps de réponse. C'est pour cela que je voulais utiliser filter.

    Je ne sais pas si je l'ai précisé mais nous sommes en mode SaaS, peut être que le comportement de certaines commandes powershell est différent en mode Saas par rapport au mode on premise.

    J'ai ouvert un ticket au support microsoft, je ne manquerais pas de vous tenir au courant de la résolution.

    Merci encore du temps passé pour me répondre.


    • Modifié Alain Lcz vendredi 8 novembre 2019 10:48
    vendredi 8 novembre 2019 10:46
  • Merci beaucoup pour votre réponse, 

    ça ne semble pas être un problème d'accolade, le résultat étant toujours faux.

    Votre deuxième requête avec un Where fonctionne bien mais je voudrais l'éviter car nous allons bientôt avoir plusieurs milliers de salles et cela posera des problèmes de performance ou de temps de réponse. C'est pour cela que je voulais utiliser filter.

    Je ne sais pas si je l'ai précisé mais nous sommes en mode SaaS, peut être que le comportement de certaines commandes powershell est différent en mode Saas par rapport au mode on premise.

    J'ai ouvert un ticket au support microsoft, je ne manquerais pas de vous tenir au courant de la résolution.

    Merci encore du temps passé pour me répondre.


    Qu'est-ce que vous entendez par "faux" dans le résultat? Est-ce que le filtre recipientTypeDetail qui est ignoré, ou le filtre PrimarySmtpAddress ?

    En effet, si on comprend ce qui est faux on pourra trouver une solution?


    Cordialement,

    Sylvain (MCP, MCTS Windows Server 2008 R2 Server Virtualization, MCTS Exchange 2010)

    WWW : http://snsv.consulting | Blog : http://sylvaincoudeville.fr

    "Aléatoire" et "Mystérieux" sont des qualificatifs inventés par l'Homme pour éviter de dire qu'il n'a pas trouvé la root cause du problème...

    • Proposé comme réponse ThibaultG samedi 9 novembre 2019 12:06
    vendredi 8 novembre 2019 10:53
  • Bonjour,

    pour les perf, vous pouvez enlever une recherche :

    Get-Mailbox -resultsize unlimited -RecipientTypeDetails roommailbox | where {$_.PrimarySmtpAddress -notlike "*onmicrosoft.com"}

    Olivier.

    • Marqué comme réponse Alain Lcz lundi 6 avril 2020 07:35
    vendredi 8 novembre 2019 13:32
  • le résultat de la requête renvoie plein de mailbox dont l'adresse se termine par onmicrosoft.com,

    or on a bien en condition de la requête : PrimarySmtpAddress -notlike "*onmicrosoft.com"

    Je ne sais pas si vous arrivez à le voir sur la copie écran que j'ai joint à mon message.

    C'est à chaque fois le filtre sur l'adresse smtp qui ne marche pas.

    vendredi 8 novembre 2019 15:07
  • Oui, c'est visible, etrange

    le PrimarySmtpAddress -like "*onmicrosoft.com" fonctionne ?

    si oui, 

    {!($_.PrimarySmtpAddress -like "*onmicrosoft.com")}

    donne aussi un faux résultat?

    vendredi 8 novembre 2019 15:49
  • Bonjour,

    Des nouvelles de ce souci ?

    si oui, pourriez vous faire avance le sujet, et si possible le clôturer  ?

    n'hésitez pas à voter pour les postes qui vous ont aidé.

    Olivier

    vendredi 15 novembre 2019 19:31
  • Bonjour,

    Je n'ai pa eu de réponse satisfaisante, aucune solution apportée par le support, il faut croire qu'on touche à une limite de la fonction, comment fait on pour cloturer un sujet même s'il n' a pas eu de réponse exacte ?

    vendredi 31 janvier 2020 10:16