D365 Finance & Operations and Dynamics AX Forum

 View Only
  • 1.  Odata filter query in PowerShell for Dynamics 365

    SILVER CONTRIBUTOR
    Posted Jul 18, 2022 11:56 AM
    Writing a script for a pipleline and trying to use a filter on a oData query for D365 F&O data entity however can't seem to get it to work. I get results without filter however what i'm trying to do is use a EQ operator to filter based on a string value. I've tried double quotes, single quotes but none seem to work. Below is the specific line from my PowerShell script

    Get-D365ODataEntityData -EntityName SecurityUserRoleAssociations-Token $token -ODataQuery '$filter=UserID eq "ABC"' 
    

    Please let me know if anyone has any suggestions. Thanks!

    Regards,
    Raheel



    ------------------------------
    Raheel Rao
    Hickory Farms
    IL
    ------------------------------


  • 2.  RE: Odata filter query in PowerShell for Dynamics 365

    SILVER CONTRIBUTOR
    Posted Jul 19, 2022 09:22 AM
    Have you tried using -eq instead of eq ?

    ------------------------------
    Thomas Laza
    South Texas Electric Cooperative Inc
    Nursery TX
    ------------------------------



  • 3.  RE: Odata filter query in PowerShell for Dynamics 365

    SILVER CONTRIBUTOR
    Posted Jul 25, 2022 10:48 AM
    Hi Thomas,

    Tried that too and unfortunately that didn't work either.

    ------------------------------
    Raheel Rao
    ECCO
    IL
    ------------------------------



  • 4.  RE: Odata filter query in PowerShell for Dynamics 365

    SILVER CONTRIBUTOR
    Posted Jul 25, 2022 11:53 AM
    Is it possible the filter is case sensitive? If so, you might try all caps on the UserID, or some variation of upper case and lower case.

    ------------------------------
    Thomas Laza
    South Texas Electric Cooperative Inc
    Nursery TX
    ------------------------------



  • 5.  RE: Odata filter query in PowerShell for Dynamics 365

    Posted Jul 26, 2022 07:48 AM
    It's definitely case sensitive. It should be UserId. Also I'm not 100% on this, but you may need to use single quotes to escape single quotes, so your filter would look like this
    '$filter=UserId eq ''ABC'''​


    ------------------------------
    Lenny Kaplan
    Warburg Pincus LLC
    New York NY
    ------------------------------



  • 6.  RE: Odata filter query in PowerShell for Dynamics 365

    Posted 24 days ago
    Edited by Ethan Klein 24 days ago

    To filter data using OData query in PowerShell for Dynamics 365, you can use the Invoke-RestMethod cmdlet with the filter parameter. Here's an example:

    $resource = "https://<your-instance>.api.<region>.dynamics.com/api/data/v9.0/<entity>?"

    $filter = "startswith(name, 'A')"

    $data = Invoke-RestMethod -Method Get -Headers $headers -Uri "$resource`$filter=$filter"

    $data.value

    In this example, replace <your-instance> with the name of your Dynamics 365 instance, <region> with the region where your instance is hosted, <entity> with the name of the entity you want to filter, and startswith(name, 'A') with your desired OData filter query.

    You'll also need to provide the appropriate headers, such as the Authorization header with a valid OAuth 2.0 access token, in order to authenticate with Dynamics 365.



    ------------------------------
    Ethan Klein
    Digital Marketing Manager
    crecentech
    ------------------------------



If you've found this thread useful, dive deeper into User Group community content by role