|
| 1 | +//////////////////////////////////////////////////////////////////////////////// |
| 2 | +// Endpoint Status Report |
| 3 | +// |
| 4 | +// This query will provide a report of many of the best practice configurations |
| 5 | +// for Defender ATP deployment. Special Thanks to Gilad Mittelman for the |
| 6 | +// initial inspiration and concept. |
| 7 | +// Look for any tests which are reporting "BAD" as a result. |
| 8 | +//////////////////////////////////////////////////////////////////////////////// |
| 9 | +DeviceTvmSecureConfigurationAssessment |
| 10 | +| where ConfigurationId in ('scid-91', 'scid-2000', 'scid-2001', 'scid-2002', 'scid-2003', 'scid-2010', 'scid-2011', 'scid-2012', 'scid-2013', 'scid-2014', 'scid-2016') |
| 11 | +| summarize arg_max(Timestamp, IsCompliant, IsApplicable) by DeviceId, ConfigurationId |
| 12 | +| extend Test = case( |
| 13 | + ConfigurationId == "scid-2000", "SensorEnabled", |
| 14 | + ConfigurationId == "scid-2001", "SensorDataCollection", |
| 15 | + ConfigurationId == "scid-2002", "ImpairedCommunications", |
| 16 | + ConfigurationId == "scid-2003", "TamperProtection", |
| 17 | + ConfigurationId == "scid-2010", "AntivirusEnabled", |
| 18 | + ConfigurationId == "scid-2011", "AntivirusSignatureVersion", |
| 19 | + ConfigurationId == "scid-2012", "RealtimeProtection", |
| 20 | + ConfigurationId == "scid-91", "BehaviorMonitoring", |
| 21 | + ConfigurationId == "scid-2013", "PUAProtection", |
| 22 | + ConfigurationId == "scid-2014", "AntivirusReporting", |
| 23 | + ConfigurationId == "scid-2016", "CloudProteciton", |
| 24 | + "N/A"), |
| 25 | + Result = case(IsApplicable == 0, "N/A", IsCompliant == 1, "GOOD", "BAD") |
| 26 | +| extend packed = pack(Test, Result) |
| 27 | +| summarize Tests = make_bag(packed) by DeviceId |
| 28 | +| evaluate bag_unpack(Tests) |
0 commit comments