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
------------------------------
Original Message:
Sent: Jul 18, 2022 11:56 AM
From: Raheel Rao
Subject: Odata filter query in PowerShell for Dynamics 365
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
------------------------------