query language
247 TopicsRecent Logic Apps Failures with Defender ATP Steps – "TimeGenerated" No Longer Recognized
Hi everyone, I’ve recently encountered an issue with Logic Apps failing on Defender ATP steps. Requests containing the TimeGenerated parameter no longer work—the column seems to be unrecognized. My code hasn’t changed at all, and the same queries run successfully in Defender 365’s Advanced Hunting. For example, this basic KQL query: DeviceLogonEvents | where TimeGenerated >= ago(30d) | where LogonType != "Local" | where DeviceName !contains ".fr" | where DeviceName !contains "shared-" | where DeviceName !contains "gdc-" | where DeviceName !contains "mon-" | distinct DeviceName Now throws the error: Failed to resolve column or scalar expression named 'TimeGenerated'. Fix semantic errors in your query. Removing TimeGenerated makes the query work again, but this isn’t a viable solution. Notably, the identical query still functions in Defender 365’s Advanced Hunting UI. This issue started affecting a Logic App that runs weekly—it worked on May 11th but failed on May 18th. Questions: Has there been a recent schema change or deprecation of TimeGenerated in Defender ATP's KQL for Logic Apps? Is there an alternative column or syntax we should use now? Are others experiencing this? Any insights or workarounds would be greatly appreciated!463Views1like3CommentsQuery for App Service and outbound IP Query
Right now I need help writing a Query that shows this: AzureDiagnostics | where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog" clientIp, backendHostname This query isn't working. I have a server that is using SSH and the logs there show stuff but I have a Front Door Globally and I need to see the logs there also. What is the best method.1KViews0likes2CommentsAzure Firewall Logs Kusto Query
Dear Member, In Azure firewall i have configured the rule block, now i want to check the traffic it is supposed to deny and does it still allow the other traffic. can someone please help with the Kusto Query on this if the rule block is allowing traffic or deny . appreciate for help in this2.1KViews0likes1CommentAzure Firewall Logs
Hi, I was checking some firewalls logs by running the below query CommonSecurityLog | where DeviceProduct == "firewall1" or DeviceProduct == "firewall2" | project TimeGenerated, DeviceName, SourceIP, DestinationIP, DestinationPort, Protocol, DeviceAction, Activity | sort by TimeGenerated desc | where DestinationIP contains "a.b.c.d" I do get the results after this. But I do not understand the result in the "DeviceAction" column Result is: TimeGenerated [UTC] 2022-11-05T15:12:23.003Z DeviceName f03xxxxxxxxxx SourceIP 172.x.x.x DestinationIP 103.x.x.x DestinationPort 80 Protocol tcp DeviceAction reset-both Activity THREAT What does reset-both mean?Solved2.1KViews0likes2CommentsPerform a lookup on each value in array
I have been experimenting with exporting conditional access policies to LA for historical reporting purposes. Each policy has a number of attributes which have arrays of zero or more members containing GUIDs. Such as included/excluded users and groups. I have created some additional tables which will allow me to enrich the data with the user or group display name, however I am having trouble working out the best syntax to achieve this. The pseudocode would read like this: For each guid in the attribute, add a second field with the display name of that guid. So far the best I have been able to do is mv-expand the fact data, do the lookup. I now have the extra field that I want, but now I want to zip the events back up again and am not sure how. If only I could get the lookup command to work inside the mv-apply command, but I can't work that out. Here is an example: let FactTable=datatable(Rule:string,IncludeUsers:string) [ "Allow Rule", '["b152239e-e443-4fdd-b989-caae6a46b34f","0366ea79-ca58-4207-9d01-945d9b36c0ca"]', "Deny Rule", '["f569275d-a42c-4282-b41f-fff90eb960cb"]' ]; let DimTable=datatable(userGuid:string,UserName:string) [ "b152239e-e443-4fdd-b989-caae6a46b34f", "Bob", "0366ea79-ca58-4207-9d01-945d9b36c0ca", "Alice", "f569275d-a42c-4282-b41f-fff90eb960cb", "Eve" ]; FactTable | extend innerJson=todynamic(IncludeUsers) | project-away IncludeUsers | mv-expand innerJson to typeof(string) | lookup kind=leftouter DimTable on $left.innerJson==$right.userGuid Is there a better way of doing this? If not, how do I recombine the events again afterwards?Solved2.1KViews0likes5CommentsWorking with watchlists and ipv4_is_in_any_range() to exclude results from query
Hello! I am struggling with using watchlists as a blacklist. This is my query: let list = _GetWatchlist('blacklistedSegments') | summarize make_list(segment); SigninLogs | where ipv4_is_in_any_range(IPAddress, list); //throws an error This is my Watchlist named "blacklistedSegments" - one column named "segment": segment 1.2.0.0/16 3.4.0.0/16 I am trying to create a query in which sign-in logs from black listed IPs are returned. The problem is that I get the following error : This is probably because make_list() returns an array while the ipv4 method expects a value. Can anyone suggest the correct KQL way of achieving the above? Any suggestion will be highly appreciated! Thanks in advance. BenSolved5.9KViews0likes5CommentsHow to parse ISO 8601 durations?
In Azure Log Analytics Queries, is there a way to parse ISO 8601 durations to use in comparisons? The format looks like this: PT1H29M58.163977013S More information on the format can be found here: https://en.wikipedia.org/wiki/ISO_8601#Durations2.2KViews0likes2Comments