Skip to content

Commit 262fa9d

Browse files
authored
Merge pull request #50464 from MicrosoftDocs/NEW-purview-ediscovery-manage-data-sources-holds
New purview ediscovery manage data sources holds
2 parents 676e8ad + ea0edc1 commit 262fa9d

27 files changed

+801
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.purview-ediscovery-manage-data-sources-holds.add-data-source
3+
title: Select and manage data sources
4+
metadata:
5+
title: Select and manage data sources
6+
description: "Select and manage data sources"
7+
ms.date: 05/15/2025
8+
author: wwlpublish
9+
ms.author: riswinto
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 6
14+
content: |
15+
[!include[](includes/add-data-source.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.purview-ediscovery-manage-data-sources-holds.create-holds
3+
title: Create holds in eDiscovery
4+
metadata:
5+
title: Create holds in eDiscovery
6+
description: "Create holds in eDiscovery"
7+
ms.date: 05/15/2025
8+
author: wwlpublish
9+
ms.author: riswinto
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 8
14+
content: |
15+
[!include[](includes/create-holds.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.purview-ediscovery-manage-data-sources-holds.identify-report-mailbox-holds
3+
title: Identify and report on mailbox holds
4+
metadata:
5+
title: Identify and report on mailbox holds
6+
description: "Identify and report on mailbox holds"
7+
ms.date: 05/15/2025
8+
author: wwlpublish
9+
ms.author: riswinto
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 7
14+
content: |
15+
[!include[](includes/identify-report-mailbox-holds.md)]
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
Once a case has been created, eDiscovery allows you to define which content sources should be included in a search. Adding data sources ensures that you're querying the right locations tied to the individuals or groups involved in your investigation.
2+
3+
In the new eDiscovery experience, data sources are added directly from within a search. This streamlines the workflow and provides a clear view of what locations are included. Sources can be added manually or using broader organization-wide options, depending on the scope of your investigation.
4+
5+
## Add sources to a search
6+
7+
To add data sources in the new experience:
8+
9+
1. Go to the Microsoft Purview portal and navigate to **Solutions** > **eDiscovery** > **Cases**.
10+
11+
1. Select a case, then select the **Searches** tab to open an existing search or create a new one.
12+
13+
1. Select **Add sources** or **Add tenant-wide sources**.
14+
15+
1. Use the **Search for sources** panel to look up people, groups, or locations.
16+
17+
:::image type="content" source="../media/add-data-sources.png" alt-text="Screenshot showing where to add data sources in an eDiscovery search." lightbox="../media/add-data-sources.png":::
18+
19+
1. Apply filters to narrow your selection. You can:
20+
21+
- Limit the results to people or groups only
22+
- Show or hide inactive users
23+
- Focus only on sources already connected to the case
24+
25+
1. Select the users or groups to include.
26+
27+
After selecting users or groups as sources, use the **Manage** button to review and adjust which data locations are included for each source. For users, you can choose their mailbox and OneDrive site. For groups, you can choose the group mailbox and any associated SharePoint site.
28+
29+
:::image type="content" source="../media/manage-data-sources.png" alt-text="Screenshot of the Manage sources panel showing users and groups with mailboxes and sites selected." lightbox="../media/manage-data-sources.png":::
30+
31+
1. Save your selections.
32+
33+
Once saved, your chosen sources appear in the **Data sources** list for the search. Each source displays icons to indicate which content types are included, such as mailboxes or SharePoint sites.
34+
35+
If your case requires broader coverage, you can use the **Add tenant-wide sources** option. This includes:
36+
37+
- **All people and groups**, which covers all mailboxes, OneDrive sites, and group content across the organization
38+
- **All public folders**, which includes all content in Exchange public folder mailboxes
39+
40+
> [!NOTE]
41+
> The list of available users and groups in the **Search for sources** panel depends on the case's data source settings. These settings are configured when creating or editing a case and include options like departed users, guest users, and shared Teams channels. You can review or update these settings in the **Settings** tab of the case. For more information, see [Learn about data sources settings in eDiscovery cases](/purview/edisc-settings-data-sources).
42+
43+
## Review or modify data sources
44+
45+
After saving your selections, you can return to the search at any time to update the data sources. From the **Searches** tab within the case, open the relevant search, and select the **Manage sources** icon in the data sources section. This allows you to:
46+
47+
- Add or remove users and groups
48+
- Change which content types are included (mailbox, OneDrive, SharePoint)
49+
- Review location mappings for each source
50+
51+
:::image type="content" source="../media/manage-sources.png" alt-text="Screenshot showing the options to Manage sources after data sources are added." lightbox="../media/manage-sources.png":::
52+
53+
Any changes you make affect the scope of the search results and can be saved immediately.
54+
55+
You can also select the **Sync** (⟳) button to check whether any of the data sources have changed, such as new Teams channels being added. This ensures your search includes the most current content locations. Sync doesn't reflect changes to group membership. If new users are added to a group after it's selected, their mailboxes and OneDrive sites won't be included automatically.
56+
57+
## Considerations
58+
59+
You can include distribution lists in your search. eDiscovery automatically resolves these lists into individual mailboxes, helping you quickly target a defined group of users without manually adding each one.
60+
61+
Defining data sources early helps ensure that search results are accurate and makes it easier to apply holds without needing to reselect sources later.
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
When an investigation is underway, you might need to preserve content that could be relevant to the case. In Microsoft Purview eDiscovery, this is done by placing content locations such as mailboxes, SharePoint sites, and OneDrive accounts on hold. This action prevents data from being permanently deleted until the hold is removed or the case is closed.
2+
3+
You create a hold by defining a policy in an eDiscovery case. The policy determines which content to preserve and how long it should be retained. Depending on the investigation, a hold can preserve everything in a source or only content that matches a specific query.
4+
5+
> [!TIP]
6+
> Hold policies are designed for investigation and litigation. For long-term retention scenarios unrelated to legal investigations, retention policies or retention labels are a better fit.
7+
8+
## Step 1: Create the hold policy
9+
10+
Every hold begins with a policy. The policy is stored in the case and defines which data sources and filters to apply.
11+
12+
To create a hold policy:
13+
14+
1. In the [Microsoft Purview portal](https://purview.microsoft.com/), go to **eDiscovery** > **Cases** and open the case you want to work in.
15+
1. Select the **Hold policies** tab.
16+
1. Select **Create policy**.
17+
1. Give the policy a name (required) and an optional description.
18+
1. Select **Create**.
19+
20+
:::image type="content" source="../media/create-hold-policy.png" alt-text="Screenshot showing the creation of a new hold policy." lightbox="../media/create-hold-policy.png":::
21+
22+
The hold policy is now part of the case but doesn't preserve any data yet. You'll add sources and define the scope in the next steps.
23+
24+
## Step 2: Add sources to the hold
25+
26+
To preserve content, you need to specify where it lives. This means selecting the mailboxes, OneDrive accounts, or SharePoint sites that contain the data you want to keep.
27+
28+
1. From the **Hold policy** tab, select the policy you created.
29+
1. Choose **Add data sources**.
30+
1. Use the **Manage data sources** panel to select the users, groups, or sites you want to preserve.
31+
32+
You can hold mailboxes, OneDrive accounts, and SharePoint sites. For Microsoft Teams or Microsoft 365 groups, you need to select the group mailbox and associated SharePoint site.
33+
34+
> [!NOTE]
35+
> If you add a distribution list, it expands to show current members. However, the list doesn't stay updated. If membership changes later, you need to readd the list to reflect those updates.
36+
37+
At least one data source is required before you can apply the hold.
38+
39+
## Step 3: Define the hold scope
40+
41+
By default, a hold preserves all content in the selected locations. But if you're trying to limit the scope of what gets preserved, you can build a search query to target specific content types or events.
42+
43+
There are two ways to define a query-based hold:
44+
45+
- **Condition builder** lets you add filters like keywords, participants, and dates through a visual interface.
46+
- **Keyword Query Language (KQL)** provides a freeform text field for more complex queries.
47+
48+
1. In the **Hold policy** tab, use the **Condition builder** to define filters that match the content you want to preserve.
49+
50+
1. To switch to KeyQL, select it from the **Add conditions** menu. This replaces the condition builder with a single query field for advanced query input.
51+
52+
1. Select **Apply hold** to finalize the scope.
53+
54+
:::image type="content" source="../media/configure-hold-policy.png" alt-text="Screenshot showing a hold policy being configured with data sources and conditions in the Condition builder." lightbox="../media/configure-hold-policy.png":::
55+
56+
> [!NOTE]
57+
> All content is initially preserved when you create a hold. Content that doesn't match the query is cleared from the hold within 7 to 14 days, unless it's covered by another hold or can't be indexed.
58+
59+
Use the **Apply a hold** interactive guide to walk through creating and managing a hold policy.
60+
61+
[:::image type="content" source="../media/guide-apply-hold.png" alt-text="Illustration showing the opening page to the Apply a hold interactive guide." lightbox="../media/guide-apply-hold.png":::](https://mslearn.cloudguides.com/guides/Apply%20a%20hold%20with%20Microsoft%20Purview%20eDiscovery?azure-portal=true)
62+
63+
## Step 4: Confirm the hold
64+
65+
After applying the hold, go to the **Details** tab to confirm that the policy is active and functioning as expected.
66+
67+
You can view:
68+
69+
- The names and locations of data sources
70+
- The hold status for each location (on hold, not on hold, or error)
71+
- Whether the source is a person or a group
72+
- Whether the location is a mailbox or a site
73+
74+
:::image type="content" source="../media/hold-details.png" alt-text="Screenshot showing the Details tab within an eDiscovery hold." lightbox="../media/hold-details.png":::
75+
76+
## Create a hold from an existing search
77+
78+
If you've already created a search that scoped the right content, you can use that search as the starting point for a hold.
79+
80+
To create a hold from a search:
81+
82+
1. Go to the **Searches** tab.
83+
1. Open an existing search.
84+
1. Select **Create a hold** from the command bar.
85+
86+
The new hold copies the sources from the search. Keep in mind:
87+
88+
- Tenant-wide sources are excluded.
89+
- Distribution lists are expanded at creation and don't stay updated automatically.
90+
91+
## Considerations
92+
93+
- When a data source is removed from a hold, a **30-day delay hold** is applied before content can be permanently deleted.
94+
- If a user's **OneDrive URL changes** (such as from a UPN update), the existing hold still preserves the content, but you need to update the URL to reflect the new path for ongoing visibility and management.
95+
- Teams and group content is stored in group mailboxes and SharePoint sites, while user chats and shared files are stored in individual mailboxes and OneDrive. Hold all relevant locations to ensure complete coverage.
96+
- When you place a hold on a group, member content isn't preserved unless their mailboxes and OneDrive accounts are added separately.
97+
98+
## Apply a hold interactive guide
99+
100+
Use the **Apply a hold** interactive guide to walk through creating and applying a hold policy.
101+
102+
[:::image type="content" source="../media/guide-apply-hold.png" alt-text="Illustration showing the opening page to the Apply a hold interactive guide." lightbox="../media/guide-apply-hold.png":::](https://mslearn.cloudguides.com/guides/Apply%20a%20hold%20with%20Microsoft%20Purview%20eDiscovery?azure-portal=true)
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
When responding to investigations or audits, it's important to confirm whether mailbox content is being preserved and why. Microsoft Purview supports several types of holds that prevent mailbox content from being permanently deleted. This includes holds applied through eDiscovery cases, retention policies, retention labels, and litigation holds.
2+
3+
## Identify mailbox hold types
4+
5+
You can use Exchange Online PowerShell to identify the types of holds placed on a mailbox.
6+
7+
Before you check hold status, it helps to understand what types of holds you might see:
8+
9+
- **Litigation Hold** keeps mailbox content for legal reasons, even if the user deletes it.
10+
- **eDiscovery holds** are tied to eDiscovery cases and preserve content relevant to investigations.
11+
- **Retention policies** apply to entire mailboxes or groups of mailboxes based on organizational rules.
12+
- **Retention labels** apply to specific items or folders and can trigger preservation even without a policy.
13+
- **Delay holds** apply after a hold is removed, giving time before content is purged.
14+
15+
You might see one or more of these on the same mailbox, depending on how your environment is configured.
16+
17+
To check for Litigation Hold and unified holds (eDiscovery holds and retention policies):
18+
19+
```powershell
20+
Get-Mailbox <username> | FL LitigationHoldEnabled,InPlaceHolds
21+
```
22+
23+
- **LitigationHoldEnabled** indicates whether a mailbox is on Litigation Hold.
24+
- **InPlaceHolds** contains GUIDs for other hold types.
25+
26+
Hold GUIDs use different prefixes to indicate the type:
27+
28+
- `UniH` = eDiscovery hold
29+
- `mbx`, `skp`, or `grp` = retention policy
30+
- `-mbx` = explicitly excluded from a retention policy
31+
32+
If a GUID starts with `-mbx`, it means the mailbox has been explicitly excluded from an organization-wide policy. This can be used to prevent retention from applying to specific mailboxes, even when the policy is scoped broadly.
33+
34+
If **InPlaceHolds** is empty, check for organization-wide retention policies:
35+
36+
```powershell
37+
Get-OrganizationConfig | FL InPlaceHolds
38+
```
39+
40+
To check if content is preserved due to retention labels:
41+
42+
```powershell
43+
Get-Mailbox <username> | FL ComplianceTagHoldApplied
44+
```
45+
46+
- If **ComplianceTagHoldApplied** is `True`, the mailbox is treated as on hold because a retention label that retains content has been applied to at least one item.
47+
48+
To view delay hold status after a hold is removed:
49+
50+
```powershell
51+
Get-Mailbox <username> | FL DelayHoldApplied,DelayReleaseHoldApplied
52+
```
53+
54+
These properties show whether a delay hold is in place, temporarily extending retention after the original hold is removed.
55+
56+
## Match hold GUIDs to specific cases and policies
57+
58+
After identifying hold GUIDs on a mailbox, you might need to trace those values back to a specific case, policy, or content location.
59+
60+
### For eDiscovery holds
61+
62+
eDiscovery hold GUIDs start with `UniH`. To match a GUID to a specific case and hold:
63+
64+
1. Remove the `UniH` prefix.
65+
1. In Security & Compliance PowerShell, run:
66+
67+
```powershell
68+
$CaseHold = Get-CaseHoldPolicy <GUID without UniH>
69+
Get-ComplianceCase $CaseHold.CaseId | FL Name
70+
$CaseHold | FL Name,ExchangeLocation
71+
```
72+
73+
These commands reveal the name of the eDiscovery case, the hold name, and the mailboxes under hold.
74+
75+
### For retention policies
76+
77+
Retention policy GUIDs often start with `mbx`, `skp`, or `grp`. To match a GUID to a Microsoft Purview retention policy:
78+
79+
1. Remove the prefix and suffix (such as `:1`, `:2`, or `:3`).
80+
1. Run:
81+
82+
```powershell
83+
Get-RetentionCompliancePolicy <GUID without prefix or suffix> -DistributionDetail | FL Name,*Location
84+
```
85+
86+
This shows the name of the retention policy and the content locations it's scoped to.
87+
88+
Matching GUIDs to holds can help verify why a mailbox is preserved, confirm scope, and support defensible investigations.
89+
90+
## Use a script to report on eDiscovery holds
91+
92+
While PowerShell can help you check individual mailbox holds, Microsoft also provides a sample script to generate a report of all eDiscovery case holds across your organization.
93+
94+
Use this script during audits or investigations to:
95+
96+
- Show which cases have active holds
97+
- See who created or modified the holds
98+
- List the content locations in scope
99+
- Identify cases that don’t include any holds
100+
101+
It also creates a separate report listing eDiscovery cases that have **no holds**.
102+
103+
### What the script collects
104+
105+
When you run the script, it generates two CSV files:
106+
107+
- `CaseHoldsReport_<timestamp>.csv` with details about each hold, including:
108+
109+
- Case name, type, and status
110+
- Hold name and whether it's enabled
111+
- Hold creator and last modifier
112+
- Query-based syntax, if applicable
113+
- Mailboxes and SharePoint sites in scope
114+
- Hold creation and modification timestamps
115+
- `CasesWithNoHolds_<timestamp>.csv`, which lists any eDiscovery cases that don't have associated holds
116+
117+
### How to run the script
118+
119+
1. Connect to [Security & Compliance PowerShell](/powershell/exchange/connect-to-scc-powershell).
120+
121+
1. Create a new `.ps1` script file in a text editor and paste in the script provided in the [official documentation](/purview/edisc-hold-report-script#step-2-run-the-script-to-report-on-holds-associated-with-ediscovery-cases). Save the file as `CaseHoldsReport.ps1`.
122+
123+
1. In your PowerShell session, run the script:
124+
125+
```powershell
126+
.\CaseHoldsReport.ps1
127+
```
128+
129+
1. When prompted, enter a folder path where the reports will be saved.
130+
131+
> [!TIP]
132+
> To save the report in the same folder as the script, type a period (`.`) when prompted. To use a subfolder, type the subfolder name.
133+
134+
Once the script completes, you'll see confirmation in the PowerShell window and can open the CSV files from the path you specified.
135+
136+
Using this report can help you quickly validate whether content is under legal hold and identify any gaps, especially during time-sensitive investigations.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
In Microsoft Purview eDiscovery, identifying the right content sources and preserving data are essential steps in responding to legal, regulatory, or internal investigations. Without a clear definition of where to search and what to preserve, organizations risk missing critical evidence or failing to meet compliance obligations.
2+
3+
Defining and managing data sources, applying and maintaining holds, and validating that preservation is working as expected are key parts of managing investigations in Microsoft Purview. This includes support for preserving metadata, applying delay holds after removal, and using tools to troubleshoot or report on hold status.
4+
5+
By the end of this module, you'll be able to:
6+
7+
- Identify the types of data sources used in eDiscovery searches and holds
8+
- Add and manage data sources in the new eDiscovery experience
9+
- Create and configure hold policies to preserve relevant content
10+
- View, edit, and troubleshoot existing holds
11+
- Confirm hold status using PowerShell and interpret preservation behavior

0 commit comments

Comments
 (0)