Query Details
let query_frequency = 1h;
let query_period = 14d;
DeviceNetworkInfo
| where TimeGenerated > ago(query_period)
| where isnotempty(DeviceName) and not(NetworkAdapterStatus == "Unknown")
// | where not(NetworkAdapterType in ("Wwanpp", "Wireless80211"))
| where isnotempty(NetworkAdapterVendor) // VMware, Inc. PCS Systemtechnik GmbH
| summarize arg_min(TimeGenerated, *) by DeviceId, NetworkAdapterType, NetworkAdapterVendor
| join kind=inner (
DeviceInfo
| where TimeGenerated > ago(query_period)
| where isempty(MergedToDeviceId) and isnotempty(JoinType)
| summarize arg_max(TimeGenerated, *) by DeviceId
| project-away TimeGenerated
) on DeviceId
| project-away *1
| as _Auxiliar
| summarize arg_min(TimeGenerated, *) by JoinType, OSPlatform, NetworkAdapterType, NetworkAdapterVendor
| where TimeGenerated > ago(query_frequency)
| join kind=rightsemi _Auxiliar on JoinType, OSPlatform, NetworkAdapterType, NetworkAdapterVendor
| project
TimeGenerated,
DeviceName,
OSPlatform,
NetworkAdapterType,
NetworkAdapterVendor,
JoinType,
PublicIP,
IPAddresses,
LoggedOnUsers,
DeviceType,
OnboardingStatus,
DeviceId,
AadDeviceId,
CloudPlatforms,
AzureResourceId,
AwsResourceName,
GcpFullResourceName,
MergedDeviceIds
This query is designed to analyze network adapter information from devices over a specified period and frequency. Here's a simplified breakdown of what the query does:
Define Parameters:
query_frequency is set to 1 hour, meaning the results will focus on data from the last hour.query_period is set to 14 days, meaning the query will consider data from the last 14 days.Filter Device Network Information:
DeviceNetworkInfo table where the data is from the last 14 days.DeviceName is not empty and the NetworkAdapterStatus is not "Unknown".NetworkAdapterVendor is not empty.Summarize Network Adapter Data:
arg_min) network adapter data for each device by DeviceId, NetworkAdapterType, and NetworkAdapterVendor.Join with Device Information:
DeviceInfo table to get additional device details.DeviceId and only includes devices that have not been merged (isempty(MergedToDeviceId)) and have a non-empty JoinType.Further Summarization:
JoinType, OSPlatform, NetworkAdapterType, and NetworkAdapterVendor, focusing on the earliest records.Filter by Recent Data:
Final Join and Projection:
TimeGenerated, DeviceName, OSPlatform, NetworkAdapterType, NetworkAdapterVendor, and other device-related details.Overall, this query is used to analyze and report on the network adapter configurations and statuses of devices within a specified time frame, focusing on recent changes or configurations.

Jose Sebastián Canós
Released: April 24, 2026
Tables
Keywords
Operators