Skip to content

Commit fe41ff9

Browse files
Merge pull request #2616 from MicrosoftDocs/main
Publish main to live, 01/31/25, 10:30 AM PT
2 parents 2566afd + 6bc92a1 commit fe41ff9

File tree

5 files changed

+109
-51
lines changed

5 files changed

+109
-51
lines changed

defender-endpoint/api/get-assessment-software-vulnerabilities.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: Export software vulnerabilities assessment per device
33
description: The API response is per device and contains vulnerable software installed on your exposed devices and any known vulnerabilities in these software products. This table also includes operating system information, CVE IDs, and vulnerability severity information.
44
ms.service: defender-endpoint
5-
author: denisebmsft
6-
ms.author: deniseb
5+
author: emmwalshh
6+
ms.author: ewalsh
77
ms.localizationpriority: medium
88
manager: deniseb
99
audience: ITPro
@@ -15,7 +15,7 @@ ms.topic: reference
1515
ms.subservice: reference
1616
ms.custom: api
1717
search.appverid: met150
18-
ms.date: 01/23/2025
18+
ms.date: 01/31/2025
1919
---
2020

2121
# Export software vulnerabilities assessment per device
@@ -33,15 +33,15 @@ ms.date: 01/23/2025
3333
3434
Returns all known software vulnerabilities and their details for all devices, on a per-device basis.
3535

36-
Different API calls get different types of data. Because the amount of data can be large, there are two ways it can be retrieved:
36+
Different API calls get different types of data. Because the amount of data can be large, there are three ways it can be retrieved:
3737

38-
1. [Export software vulnerabilities assessment **JSON response**](#1-export-software-vulnerabilities-assessment-json-response) The API pulls all data in your organization as Json responses. This method is best for _small organizations with less than 100-K devices_. The response is paginated, so you can use the \@odata.nextLink field from the response to fetch the next results.
38+
1. [Export software vulnerabilities assessment: **JSON response**](#1-export-software-vulnerabilities-assessment-json-response) The API pulls all data in your organization as Json responses. This method is best for _small organizations with less than 100-K devices_. The response is paginated, so you can use the \@odata.nextLink field from the response to fetch the next results.
3939

40-
2. [Export software vulnerabilities assessment **via files**](#2-export-software-vulnerabilities-assessment-via-files) This API solution enables pulling larger amounts of data faster and more reliably. Via-files is recommended for large organizations, with more than 100-K devices. This API pulls all data in your organization as download files. The response contains URLs to download all the data from Azure Storage. This API enables you to download all your data from Azure Storage as follows:
40+
2. [Export software vulnerabilities assessment: **via files**](#2-export-software-vulnerabilities-assessment-via-files) This API solution enables pulling larger amounts of data faster and more reliably. Via-files is recommended for large organizations, with more than 100-K devices. This API pulls all data in your organization as download files. The response contains URLs to download all the data from Azure Storage. This API enables you to download all your data from Azure Storage as follows:
4141
- Call the API to get a list of download URLs with all your organization data.
4242
- Download all the files using the download URLs and process the data as you like.
4343

44-
3. [Delta export software vulnerabilities assessment **JSON response**](#3-delta-export-software-vulnerabilities-assessment-json-response) Returns a table with an entry for every unique combination of: DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, CveId, and EventTimestamp.
44+
3. [Delta export software vulnerabilities assessment: **JSON response**](#3-delta-export-software-vulnerabilities-assessment-json-response) Returns a table with an entry for every unique combination of: DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, CveId, and EventTimestamp.
4545
The API pulls data in your organization as Json responses. The response is paginated, so you can use the @odata.nextLink field from the response to fetch the next results.
4646

4747
The full "software vulnerabilities assessment (JSON response)" is used to obtain an entire snapshot of the software vulnerabilities assessment of your organization by device. However, the delta export API call is used to fetch only the changes that happened between a selected date and the current date (the "delta" API call). Instead of getting a full export with a large amount of data every time, you only get specific information on new, fixed, and updated vulnerabilities. Delta export JSON response API call can also be used to calculate different KPIs such as "how many vulnerabilities were fixed?" or "how many new vulnerabilities were added to my organization?"
@@ -57,7 +57,7 @@ Data that is collected (using either _Json response_ or _via files_) is the curr
5757

5858
### 1.1 API method description
5959

60-
This API response contains all the data of installed software per device. Returns a table with an entry for every unique combination of DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, CVEID.
60+
This API response contains all the data of installed software per device. Returns a table with an entry for every unique combination of DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, and CVEID.
6161

6262
#### 1.1.1 Limitations
6363

@@ -89,8 +89,8 @@ GET /api/machines/SoftwareVulnerabilitiesByMachine
8989
> [!NOTE]
9090
>
9191
> - Each record is 1 KB of data. You should take this size into account when choosing the correct pageSize parameter for you.
92-
> - Some other columns might be returned in the response. These columns are temporary and might be removed so please use only the documented columns.
93-
> - The properties defined in the following table are listed alphabetically, by property ID. When running this API, the resulting output isn't necessarily returned in the same order listed in this table.
92+
> - Some other columns might be returned in the response. These columns are temporary and might be removed so use only the documented columns.
93+
> - The properties defined in the following table are listed alphabetically, by property ID. While running this API, the resulting output isn't necessarily returned in the same order listed in this table.
9494
9595
<br>
9696

@@ -103,8 +103,8 @@ DeviceName|String|Fully qualified domain name (FQDN) of the device.|johnlaptop.e
103103
DiskPaths|Array\[string\]|Disk evidence that the product is installed on the device.|["C:\Program Files (x86)\Microsoft\Silverlight\Application\silverlight.exe"]
104104
ExploitabilityLevel|String|The exploitability level of this vulnerability (NoExploit, ExploitIsPublic, ExploitIsVerified, ExploitIsInKit)|ExploitIsInKit
105105
FirstSeenTimestamp|String|First time this product CVE was seen on the device.|2020-11-03 10:13:34.8476880
106-
Id|String|Unique identifier for the record.|123ABG55_573AG&mnp!
107-
LastSeenTimestamp|String|Last time the software vulnerability was seen on the device.|2020-11-03 10:13:34.8476880
106+
ID|String|Unique identifier for the record.|123ABG55_573AG&mnp!
107+
LastSeenTimestamp|String|Last time the software was reported on the device.|2020-11-03 10:13:34.8476880
108108
OSPlatform|String|Platform of the operating system running on the device. This property indicates specific operating systems with variations within the same family, such as Windows 10 and Windows 11. See Microsoft Defender Vulnerability Management supported operating systems and platforms for details.|Windows10 and Windows 11
109109
RbacGroupName|String|The role-based access control (RBAC) group. If this device isn't assigned to any RBAC group, the value is "Unassigned." If the organization doesn't contain any RBAC groups, the value is "None."|Servers
110110
RecommendationReference|String|A reference to the recommendation ID related to this software.|va-_-microsoft-_-silverlight
@@ -300,8 +300,8 @@ GET /api/machines/SoftwareVulnerabilitiesExport
300300
> - The download URLs are valid for 6 hours.
301301
> - For maximum download speed of your data, you can make sure you're downloading from the same Azure region that your data resides.
302302
>
303-
> - Each record is approximately 1KB of data. You should take this into account when choosing the correct pageSize parameter for you.
304-
> - Some additional columns might be returned in the response. These columns are temporary and might be removed, please use only the documented columns.
303+
> - Each record is 1KB of data. You should take this into account when choosing the correct pageSize parameter for you.
304+
> - Some extra columns might be returned in the response. These columns are temporary and might be removed so use only the documented columns.
305305
306306
<br>
307307

@@ -342,13 +342,13 @@ GET https://api-us.securitycenter.contoso.com/api/machines/SoftwareVulnerabiliti
342342
Returns a table with an entry for every unique combination of DeviceId, SoftwareVendor, SoftwareName, SoftwareVersion, CveId. The API pulls data in your organization as Json responses. The response is paginated, so you can use the @odata.nextLink field from the response to fetch the next results. Unlike the full software vulnerabilities assessment (JSON response), which is used to obtain an entire snapshot of the software vulnerabilities assessment of your organization by device, the delta export JSON response API call is used to fetch only the changes that happened between a selected date and the current date (the "delta" API call). Instead of getting a full export with a large amount of data every time, you only get specific information on new, fixed, and updated vulnerabilities. Delta export JSON response API call can also be used to calculate different KPIs such as "how many vulnerabilities were fixed?" or "how many new vulnerabilities were added to my organization?"
343343

344344
> [!NOTE]
345-
> It's highly recommended you use the full export software vulnerabilities assessment by device API call at least once a week and this additional export software vulnerabilities changes by device (delta) API call all the other days of the week. Unlike the other Assessments JSON response APIs, the "delta export" isn't a full export. The delta export includes only the changes that happened between a selected date and the current date (the "delta" API call).
345+
> It's highly recommended you use the full export software vulnerabilities assessment by device API call at least once a week and this extra export software vulnerabilities changes by device (delta) API call all the other days of the week. Unlike the other Assessments JSON response APIs, the "delta export" isn't a full export. The delta export includes only the changes that happened between a selected date and the current date (the "delta" API call).
346346
347347
#### 3.1.1 Limitations
348348

349349
- Maximum page size is 200,000.
350350
- The sinceTime parameter has a maximum of 14 days.
351-
- Rate limitations for this API are 30 calls per minute and 1000 calls per hour.
351+
- Rate limitations for this API are 30 calls per minute and 1,000 calls per hour.
352352

353353
### 3.2 Permissions
354354

@@ -394,7 +394,7 @@ DiskPaths|Array[string]|Disk evidence that the product is installed on the devic
394394
EventTimestamp|String|The time this delta event was found.|2021-01-11T11:06:08.291Z
395395
ExploitabilityLevel|String|The exploitability level of this vulnerability (NoExploit, ExploitIsPublic, ExploitIsVerified, ExploitIsInKit)|ExploitIsInKit
396396
FirstSeenTimestamp|String|First time the CVE of this product was seen on the device.|2020-11-03 10:13:34.8476880
397-
Id|String|Unique identifier for the record.|123ABG55_573AG&mnp!
397+
ID|String|Unique identifier for the record.|123ABG55_573AG&mnp!
398398
LastSeenTimestamp|String|Last time the CVE was seen on the device.|2020-11-03 10:13:34.8476880
399399
OSPlatform|String|Platform of the operating system running on the device; specific operating systems with variations within the same family, such as Windows 10 and Windows 11. See Microsoft Defender Vulnerability Management supported operating systems and platforms for details.|Windows10 and Windows 11
400400
RbacGroupName|String|The role-based access control (RBAC) group. If this device isn't assigned to any RBAC group, the value is "Unassigned." If the organization doesn't contain any RBAC groups, the value is "None."|Servers

defender-endpoint/device-control-deploy-manage-gpo.md

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
title: Deploy and manage device control in Microsoft Defender for Endpoint with Group Policy
33
description: Learn how to deploy and manage device control in Defender for Endpoint using Group Policy
4-
author: denisebmsft
5-
ms.author: deniseb
4+
author: emmwalshh
5+
ms.author: ewalsh
66
manager: deniseb
7-
ms.date: 01/09/2025
7+
ms.date: 01/31/2025
88
ms.topic: overview
99
ms.service: defender-endpoint
1010
ms.subservice: asr
@@ -43,7 +43,7 @@ If you're using Group Policy to manage Defender for Endpoint settings, you can u
4343
4444
## Set default enforcement
4545

46-
You can set default access such as, `Deny` or `Allow` for all device control features, such as `RemovableMediaDevices`, `CdRomDevices`, `WpdDevices`, and `PrinterDevices`.
46+
You can set default access, such as `Deny` or `Allow` for all device control features including `RemovableMediaDevices`, `CdRomDevices`, `WpdDevices`, and `PrinterDevices`.
4747

4848
:::image type="content" source="media/set-default-enforcement-deny-gp.png" alt-text="Screenshot of set default enforcement." lightbox="media/set-default-enforcement-deny-gp.png":::
4949

@@ -87,12 +87,12 @@ To configure the device types that a device control policy is applied, follow th
8787

8888
1. On a device running Windows, go to **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Microsoft Defender Antivirus** > **Device Control** > **Define device control policy groups**.
8989

90-
2. In the **Define device control policy groups** window, specify the network share file path containing the XML groups data.
90+
2. In the **Defined device control policy groups** window, specify the network share file path containing the XML groups data.
9191

9292
You can create different group types. Here's one group example XML file for any removable storage and CD-ROM, Windows portable devices, and approved USBs group: [XML file](https://github.com/microsoft/mdatp-devicecontrol/blob/main/windows/device/Group%20Policy/Scenario%202%20GPO%20Removable%20Storage%20Group.xml)
9393

9494
> [!NOTE]
95-
> Comments using XML comment notation `<!--COMMENT-->` can be used in the Rule and Group XML files, but they must be inside the first XML tag, not the first line of the XML file.
95+
> Comments using XML comment notation `<!--COMMENT-->` can be used in the Rule and Group XML files, but they must be inside the first XML tag, not the frontline of the XML file.
9696

9797
## Define Policies
9898

@@ -101,7 +101,7 @@ You can create different group types. Here's one group example XML file for any
101101

102102
1. Create one XML file for access policy rule.
103103

104-
2. Use the properties in removable storage access policy rule(s) to create an XML for each group's removable storage access policy rule.
104+
2. Use the properties in removable storage access policy rules to create an XML for each group's removable storage access policy rule.
105105

106106
Ensure root node of the XML is PolicyRules, for example, the following XML:
107107

@@ -121,10 +121,45 @@ You can create different group types. Here's one group example XML file for any
121121

122122
2. In the **Define device control policy rules** window, select **Enabled**, and then specify the network share file path containing the XML rules data.
123123

124+
## Validating XML files
125+
126+
Mpcmdrun built in functionality to validate XML files that are used for GPO deployments. This feature enables customers to detect any syntax errors the DC engine might encounter while parsing the settings. To perform this validation, administrators should copy the following PowerShell script and provide the appropriate file path for their XML files containing the Device Control rules and groups.
127+
128+
```
129+
#Path to PolicyRules xml. Provide the filepath of the device control rules XML file
130+
$RulesXML="C:\Policies\PolicyRules.xml"
131+
132+
#Path to Groups XML. Provide the filepath of the device control groups XML file
133+
$GroupsXML="C:\Policies\Groups.xml"
134+
135+
#Retrieve the install path from Defender
136+
$DefenderPath=(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Defender" -Name "InstallLocation").InstallLocation
137+
138+
#Test PolicyRules
139+
& $DefenderPath\mpcmdrun.exe -devicecontrol -testpolicyxml $RulesXML -rules
140+
141+
#Test Groups
142+
& $DefenderPath\mpcmdrun.exe -devicecontrol -testpolicyxml $GroupsXML -groups
143+
```
144+
145+
146+
If there are no errors, the following output will be printed in the PowerShell console:
147+
148+
149+
```
150+
DC policy rules parsing succeeded
151+
Verifying absolute rules data against the original data
152+
Rules verified with success
153+
DC policy groups parsing succeeded
154+
Verifying absolute groups data against the original data
155+
Groups verified with success
156+
Has Group Dependency Loop: no
157+
```
158+
124159
> [!NOTE]
125160
> To capture evidence of files being copied or printed, use [Endpoint DLP.](/purview/dlp-copy-matched-items-get-started?tabs=purview-portal%2Cpurview)
126161
>
127-
> Comments using XML comment notation `<!-- COMMENT -->` can be used in the Rule and Group XML files, but they must be inside the first XML tag, not the first line of the XML file.
162+
> Comments using XML comment notation `<!-- COMMENT -->` can be used in the Rule and Group XML files, but they must be inside the first XML tag, not the frontline of the XML file.
128163
129164
## See also
130165

0 commit comments

Comments
 (0)