O365 - Security And Compliance - Search Deprecated
Deprecated. Use the Microsoft Graph Security - Search And Delete Emails playbook instead. This playbook performs the following steps: 1. Creates a compliance search. 2. Starts a compliance search. 3. Waits for the compliance search to complete. 4. Gets the results of the compliance search as an output. 5. Gets the preview results, if specified.
Microsoft Exchange Online · 15 tasks · 14 inputs · 63 outputs
Details
| ID | O365 - Security And Compliance - Search |
|---|---|
| From Version | 5.5.0 |
| Tasks | 15 |
README
This playbook performs the following steps:
- Creates a compliance search.
- Starts a compliance search.
- Waits for the compliance search to complete.
- Gets the results of the compliance search as an output.
- Gets the preview results, if specified.
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
- GenericPolling
- O365 - Security And Compliance - Search Action - Preview
Integrations
- SecurityAndCompliance
Scripts
- PrintErrorEntry
Commands
- o365-sc-get-search
- o365-sc-new-search
- o365-sc-start-search
- o365-sc-remove-search
Playbook Inputs
| Name | Description | Default Value | Required |
|---|---|---|---|
| search_name | The name of the compliance search. If not specified will have prefix of “XSOAR-“ and GUID e.g. XSOAR-d6228fd0-756b-4e4b-8721-76776df91526. | Optional | |
| force | If false, use the existing search without modifying any search parameters. If true, overwrite the existing search. Possible values are: “true” and “false”. | false | Required |
| preview | Whether to preview results using the search action. Possible values are: “true” and “false”. | false | Required |
| case | The name of a Core eDiscovery case to associate with the new compliance search. | Optional | |
| kql | Text search string or a query that is formatted using the Keyword Query Language (KQL). | Optional | |
| description | Description of the compliance search. | Optional | |
| allow_not_found_exchange_locations | Whether to include mailboxes other than regular user mailboxes in the compliance search. Possible values are: “true” and “false”. | true | Optional |
| exchange_location | Comma-separated list of mailboxes/distribution groups to include, or use the value “All” to include all. | All | Required |
| exchange_location_exclusion | Comma-separated list of mailboxes/distribution groups to exclude when you use the value “All” for the exchange_location parameter. | Optional | |
| public_folder_location | Comma-separated list of public folders to include, or use the value “All” to include all. | Optional | |
| share_point_location | Comma-separated list of SharePoint online sites to include. You can identify the sites by their URL value, or use the value “All” to include all sites. | Optional | |
| share_point_location_exclusion | Comma-separated list of SharePoint online sites to exclude when you use the value “All” for the share_point_location argument. You can identify the sites by their URL value. | Optional | |
| polling_interval | Compliance search polling interval | 3 | Optional |
| polling_timeout | Compliance search polling timeout. | 45 | Optional |
Playbook Outputs
| Path | Description | Type |
|---|---|---|
| O365.SecurityAndCompliance.ContentSearch.Search.AllowNotFoundExchangeLocationsEnabled | Whether to include mailboxes other than regular user mailboxes in the compliance search. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.Search.AzureBatchFrameworkEnabled | Whether the Azure Batch Framework is enabled for job processing. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.Search.CaseId | Identity of a Core eDiscovery case which is associated with the compliance search. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.CaseName | Name of a Core eDiscovery case which is associated with the compliance search. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.ContentMatchQuery | Compliance text search string or a query that is formatted using the Keyword Query Language (KQL). | String |
| O365.SecurityAndCompliance.ContentSearch.Search.CreatedBy | Security and compliance search creator. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.CreatedTime | Security and compliance search creation time. | Date |
| O365.SecurityAndCompliance.ContentSearch.Search.Description | Security and compliance search description. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.Errors | Security and compliance search errors. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.ExchangeLocation | Security and compliance search exchange locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.Identity | Security and compliance search identity. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.IsValid | Whether the security and compliance search is valid. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.Search.Items | Number of security and compliance search scanned items. | Number |
| O365.SecurityAndCompliance.ContentSearch.Search.JobEndTime | Security and compliance search job end time. | Date |
| O365.SecurityAndCompliance.ContentSearch.Search.JobId | Security and compliance search job ID. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.JobRunId | Security and compliance search job run ID. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.JobStartTime | Security and compliance search job run start time. | Date |
| O365.SecurityAndCompliance.ContentSearch.Search.LastModifiedTime | Security and compliance search last modification time. | Date |
| O365.SecurityAndCompliance.ContentSearch.Search.LogLevel | Security and compliance search Azure log level. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.Name | Security and compliance search name. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocation | Security and compliance search OneDrive locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocationExclusion | Security and compliance search OneDrive locations to exclude. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocation | Security and compliance search public folder locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocationExclusion | Security and compliance search public folder locations to exclude. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.RunBy | Security and compliance search last run by UPN (Email representation). | String |
| O365.SecurityAndCompliance.ContentSearch.Search.RunspaceId | Security and compliance search run space ID. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.SharePointLocation | Security and compliance search SharePoint locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.Size | Security and compliance search bytes results size. | Number |
| O365.SecurityAndCompliance.ContentSearch.Search.Status | Security and compliance search status. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.TenantId | Security and compliance search Tenant ID. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.SuccessResults.Location | Security and compliance search result location. | String |
| O365.SecurityAndCompliance.ContentSearch.Search.SuccessResults.ItemsCount | The number of security and compliance search results in the location. | Number |
| O365.SecurityAndCompliance.ContentSearch.Search.SuccessResults.Size | The byte size of the security and compliance search results in the location. | Number |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Action | Security and compliance search action type. Either “Purge” or “Preview”. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.AllowNotFoundExchangeLocationsEnabled | Whether to include mailboxes other than regular user mailboxes in the compliance search. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.AzureBatchFrameworkEnabled | Whether the Azure Batch Framework is enabled for job processing. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseId | Identity of a Core eDiscovery case which is associated with the compliance search. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseName | Name of a Core eDiscovery case which is associated with the compliance search. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedBy | Security and compliance search action creator. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedTime | Security and compliance search action creation time. | Date |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Description | Security and compliance search action description. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Errors | Security and compliance search action errors. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchJobId | Security and compliance search action job ID estimation. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchRunId | Security and compliance search action run ID estimation. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocation | Security and compliance search action exchange locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocationExclusion | Security and compliance search action exchange locations to exclude. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Identity | Security and compliance search action identity. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.IsValid | Whether the security and compliance search action is valid. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.JobEndTime | Security and compliance search action job end time. | Date |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.JobId | Security and compliance search action job ID. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.JobRunId | Security and compliance search action job run ID. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.JobStartTime | Security and compliance search action job start time. | Date |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.LastModifiedTime | Security and compliance search action last modified time. | Date |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Name | Security and compliance search action name. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocation | Security and compliance search action public folder locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocationExclusion | Security and compliance search action public folder locations to exclude. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.Location | Security and compliance search action result location. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.Sender | Security and compliance search action result mail sender. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.Subject | Security and compliance search action result subject. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.Type | Security and compliance search action result type. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.Size | Security and compliance search action result size. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.ReceivedTime | Security and compliance search action result received time. | Date |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Results.DataLink | Security and compliance search action data link. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Retry | Whether to retry if the search action failed. | Boolean |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.RunBy | Security and compliance search action run by UPN (email address). | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.RunspaceId | Security and compliance search action run space ID. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.SearchName | Security and compliance search action search name. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocation | Security and compliance search action SharePoint locations to include. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocationExclusion | Security and compliance search action SharePoint locations to exclude. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.Status | Security and compliance search action status. Either “Started” or “Completed”. | String |
| O365.SecurityAndCompliance.ContentSearch.SearchAction.TenantId | Security and compliance search action Tenant ID. | String |
Playbook Image

Known Limitations
- Each security and compliance command creates a PSSession (PowerShell session). The security and compliance PowerShell limits the number of concurrent sessions to 3. Since this affects the behavior of multiple playbooks running concurrently it we recommend that you retry failed tasks when using the integration commands in playbooks.
- In order to handle sessions limits, A retry mechanism is applied which will retry for 10 time with 30 sec breaks. (The retry isn’t applied on the generic polling as it’s not supported yet)
- Due to a Microsoft limitation, you can perform a search and purge operation on a maximum of 50,000 mailboxes. To work around this limitation, configure multiple instances of the integration each with different permission filtering so that the number of mailboxes in each instance does not exceed 50,000.
Inputs
search_name— The name of the compliance search.force— If false, use the existing search without modifying any search parameters. If true, overwrite the existing search. Possible values are: "true" and "false".preview— Whether to preview results using the search action. Possible values are: "true" and "false".case— The name of a Core eDiscovery case to associate with the new compliance search.kql— Text search string or a query that is formatted using the Keyword Query Language (KQL).description— Description of the compliance search.allow_not_found_exchange_locations— Whether to include mailboxes other than regular user mailboxes in the compliance search. Possible values are: "true" and "false".exchange_location— Comma-separated list of mailboxes/distribution groups to include, or use the value "All" to include all.exchange_location_exclusion— Comma-separated list of mailboxes/distribution groups to exclude when you use the value "All" for the exchange_location parameter.public_folder_location— Comma-separated list of public folders to include, or use the value "All" to include all.share_point_location— Comma-separated list of SharePoint online sites to include. You can identify the sites by their URL value, or use the value "All" to include all sites.share_point_location_exclusion— Comma-separated list of SharePoint online sites to exclude when you use the value "All" for the share_point_location argument. You can identify the sites by their URL value.polling_interval— Compliance search polling intervalpolling_timeout— Compliance search polling timeout.
Outputs
O365.SecurityAndCompliance.ContentSearch.Search.AllowNotFoundExchangeLocationsEnabled— Whether to include mailboxes other than regular user mailboxes in the compliance search.O365.SecurityAndCompliance.ContentSearch.Search.AzureBatchFrameworkEnabled— Whether the Azure Batch Framework is enabled for job processing.O365.SecurityAndCompliance.ContentSearch.Search.CaseId— Identity of a Core eDiscovery case which is associated with the compliance search.O365.SecurityAndCompliance.ContentSearch.Search.CaseName— Name of a Core eDiscovery case which is associated with the compliance search.O365.SecurityAndCompliance.ContentSearch.Search.ContentMatchQuery— Compliance text search string or a query that is formatted using the Keyword Query Language (KQL).O365.SecurityAndCompliance.ContentSearch.Search.CreatedBy— Security and compliance search creator.O365.SecurityAndCompliance.ContentSearch.Search.CreatedTime— Security and compliance search creation time.O365.SecurityAndCompliance.ContentSearch.Search.Description— Security and compliance search description.O365.SecurityAndCompliance.ContentSearch.Search.Errors— Security and compliance search errors.O365.SecurityAndCompliance.ContentSearch.Search.ExchangeLocation— Security and compliance search exchange locations to include.O365.SecurityAndCompliance.ContentSearch.Search.Identity— Security and compliance search identity.O365.SecurityAndCompliance.ContentSearch.Search.IsValid— Whether the security and compliance search is valid.O365.SecurityAndCompliance.ContentSearch.Search.Items— Number of security and compliance search scanned items.O365.SecurityAndCompliance.ContentSearch.Search.JobEndTime— Security and compliance search job end time.O365.SecurityAndCompliance.ContentSearch.Search.JobId— Security and compliance search job ID.O365.SecurityAndCompliance.ContentSearch.Search.JobRunId— Security and compliance search job run ID.O365.SecurityAndCompliance.ContentSearch.Search.JobStartTime— Security and compliance search job run start time.O365.SecurityAndCompliance.ContentSearch.Search.LastModifiedTime— Security and compliance search last modification time.O365.SecurityAndCompliance.ContentSearch.Search.LogLevel— Security and compliance search Azure log level.O365.SecurityAndCompliance.ContentSearch.Search.Name— Security and compliance search name.O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocation— Security and compliance search OneDrive locations to include.O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocationExclusion— Security and compliance search OneDrive locations to exclude.O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocation— Security and compliance search public folder locations to include.O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocationExclusion— Security and compliance search public folder locations to exclude.O365.SecurityAndCompliance.ContentSearch.Search.RunBy— Security and compliance search last run by UPN (Email representation).O365.SecurityAndCompliance.ContentSearch.Search.RunspaceId— Security and compliance search run space ID.O365.SecurityAndCompliance.ContentSearch.Search.SharePointLocation— Security and compliance search SharePoint locations to include.O365.SecurityAndCompliance.ContentSearch.Search.Size— Security and compliance search bytes results size.O365.SecurityAndCompliance.ContentSearch.Search.Status— Security and compliance search status.O365.SecurityAndCompliance.ContentSearch.Search.TenantId— Security and compliance search Tenant ID.O365.SecurityAndCompliance.ContentSearch.Search.SuccessResults— Security and compliance search results.O365.SecurityAndCompliance.ContentSearch.SearchAction.Action— Security and compliance search action type. Either "Purge" or "Preview".O365.SecurityAndCompliance.ContentSearch.SearchAction.AllowNotFoundExchangeLocationsEnabled— Whether to include mailboxes other than regular user mailboxes in the compliance search.O365.SecurityAndCompliance.ContentSearch.SearchAction.AzureBatchFrameworkEnabled— Whether the Azure Batch Framework is enabled for job processing.O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseId— Identity of a Core eDiscovery case which is associated with the compliance search.O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseName— Name of a Core eDiscovery case which is associated with the compliance search.O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedBy— Security and compliance search action creator.O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedTime— Security and compliance search action creation time.O365.SecurityAndCompliance.ContentSearch.SearchAction.Description— Security and compliance search action description.O365.SecurityAndCompliance.ContentSearch.SearchAction.Errors— Security and compliance search action errors.O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchJobId— Security and compliance search action job ID estimation.O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchRunId— Security and compliance search action run ID estimation.O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocation— Security and compliance search action exchange locations to include.O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocationExclusion— Security and compliance search action exchange locations to exclude.O365.SecurityAndCompliance.ContentSearch.SearchAction.Identity— Security and compliance search action identity.O365.SecurityAndCompliance.ContentSearch.SearchAction.IsValid— Whether the security and compliance search action is valid.O365.SecurityAndCompliance.ContentSearch.SearchAction.JobEndTime— Security and compliance search action job end time.O365.SecurityAndCompliance.ContentSearch.SearchAction.JobId— Security and compliance search action job ID.O365.SecurityAndCompliance.ContentSearch.SearchAction.JobRunId— Security and compliance search action job run ID.O365.SecurityAndCompliance.ContentSearch.SearchAction.JobStartTime— Security and compliance search action job start time.O365.SecurityAndCompliance.ContentSearch.SearchAction.LastModifiedTime— Security and compliance search action last modified time.O365.SecurityAndCompliance.ContentSearch.SearchAction.Name— Security and compliance search action name.O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocation— Security and compliance search action public folder locations to include.O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocationExclusion— Security and compliance search action public folder locations to exclude.O365.SecurityAndCompliance.ContentSearch.SearchAction.Results— Security and compliance search action results.O365.SecurityAndCompliance.ContentSearch.SearchAction.Retry— Whether to retry if the search action failed.O365.SecurityAndCompliance.ContentSearch.SearchAction.RunBy— Security and compliance search action run by UPN (email address).O365.SecurityAndCompliance.ContentSearch.SearchAction.RunspaceId— Security and compliance search action run space ID.O365.SecurityAndCompliance.ContentSearch.SearchAction.SearchName— Security and compliance search action search name.O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocation— Security and compliance search action SharePoint locations to include.O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocationExclusion— Security and compliance search action SharePoint locations to exclude.O365.SecurityAndCompliance.ContentSearch.SearchAction.Status— Security and compliance search action status. Either "Started" or "Completed".O365.SecurityAndCompliance.ContentSearch.SearchAction.TenantId— Security and compliance search action Tenant ID.
Commands used
o365-sc-get-search
o365-sc-new-search
o365-sc-remove-search
o365-sc-start-search
Flowchart
Source
playbook-O365-SecurityAndCompliance-Search.yml playbook-O365-SecurityAndCompliance-SearchAction-Delete.yml playbook-O365-SecurityAndCompliance-SearchAction-Delete_README.md playbook-O365-SecurityAndCompliance-SearchAction-Preview.yml playbook-O365-SecurityAndCompliance-SearchAction-Preview_README.md playbook-O365-SecurityAndCompliance-SearchAndDelete.yml playbook-O365-SecurityAndCompliance-SearchAndDelete_README.mddeprecated: true description: |- Deprecated. Use the Microsoft Graph Security - Search And Delete Emails playbook instead. This playbook performs the following steps: 1. Creates a compliance search. 2. Starts a compliance search. 3. Waits for the compliance search to complete. 4. Gets the results of the compliance search as an output. 5. Gets the preview results, if specified. id: O365 - Security And Compliance - Search inputs: - key: search_name value: {} required: false description: The name of the compliance search. playbookInputQuery: - key: force value: simple: "false" required: true description: 'If false, use the existing search without modifying any search parameters. If true, overwrite the existing search. Possible values are: "true" and "false".' playbookInputQuery: - key: preview value: simple: "false" required: true description: 'Whether to preview results using the search action. Possible values are: "true" and "false".' playbookInputQuery: - key: case value: {} required: false description: The name of a Core eDiscovery case to associate with the new compliance search. playbookInputQuery: - key: kql value: {} required: false description: Text search string or a query that is formatted using the Keyword Query Language (KQL). playbookInputQuery: - key: description value: {} required: false description: Description of the compliance search. playbookInputQuery: - key: allow_not_found_exchange_locations value: simple: "true" required: false description: 'Whether to include mailboxes other than regular user mailboxes in the compliance search. Possible values are: "true" and "false".' playbookInputQuery: - key: exchange_location value: simple: All required: true description: Comma-separated list of mailboxes/distribution groups to include, or use the value "All" to include all. playbookInputQuery: - key: ' exchange_location_exclusion' value: {} required: false description: Comma-separated list of mailboxes/distribution groups to exclude when you use the value "All" for the exchange_location parameter. playbookInputQuery: - key: public_folder_location value: {} required: false description: Comma-separated list of public folders to include, or use the value "All" to include all. playbookInputQuery: - key: share_point_location value: {} required: false description: Comma-separated list of SharePoint online sites to include. You can identify the sites by their URL value, or use the value "All" to include all sites. playbookInputQuery: - key: share_point_location_exclusion value: {} required: false description: Comma-separated list of SharePoint online sites to exclude when you use the value "All" for the share_point_location argument. You can identify the sites by their URL value. playbookInputQuery: - key: polling_interval value: simple: "3" required: false description: Compliance search polling interval playbookInputQuery: - key: polling_timeout value: simple: "45" required: false description: Compliance search polling timeout. playbookInputQuery: name: O365 - Security And Compliance - Search outputs: - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.AllowNotFoundExchangeLocationsEnabled description: Whether to include mailboxes other than regular user mailboxes in the compliance search. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.AzureBatchFrameworkEnabled description: Whether the Azure Batch Framework is enabled for job processing. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.CaseId description: Identity of a Core eDiscovery case which is associated with the compliance search. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.CaseName description: Name of a Core eDiscovery case which is associated with the compliance search. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.ContentMatchQuery description: Compliance text search string or a query that is formatted using the Keyword Query Language (KQL). type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.CreatedBy description: Security and compliance search creator. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.CreatedTime description: Security and compliance search creation time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Description description: Security and compliance search description. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Errors description: Security and compliance search errors. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.ExchangeLocation description: Security and compliance search exchange locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Identity description: Security and compliance search identity. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.IsValid description: Whether the security and compliance search is valid. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Items description: Number of security and compliance search scanned items. type: Number - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.JobEndTime description: Security and compliance search job end time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.JobId description: Security and compliance search job ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.JobRunId description: Security and compliance search job run ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.JobStartTime description: Security and compliance search job run start time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.LastModifiedTime description: Security and compliance search last modification time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.LogLevel description: Security and compliance search Azure log level. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Name description: Security and compliance search name. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocation description: Security and compliance search OneDrive locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.OneDriveLocationExclusion description: Security and compliance search OneDrive locations to exclude. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocation description: Security and compliance search public folder locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.PublicFolderLocationExclusion description: Security and compliance search public folder locations to exclude. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.RunBy description: Security and compliance search last run by UPN (Email representation). type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.RunspaceId description: Security and compliance search run space ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.SharePointLocation description: Security and compliance search SharePoint locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Size description: Security and compliance search bytes results size. type: Number - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.Status description: Security and compliance search status. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.TenantId description: Security and compliance search Tenant ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.Search.SuccessResults description: Security and compliance search results. type: unknown - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Action description: Security and compliance search action type. Either "Purge" or "Preview". type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.AllowNotFoundExchangeLocationsEnabled description: Whether to include mailboxes other than regular user mailboxes in the compliance search. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.AzureBatchFrameworkEnabled description: Whether the Azure Batch Framework is enabled for job processing. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseId description: Identity of a Core eDiscovery case which is associated with the compliance search. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.CaseName description: Name of a Core eDiscovery case which is associated with the compliance search. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedBy description: Security and compliance search action creator. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.CreatedTime description: Security and compliance search action creation time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Description description: Security and compliance search action description. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Errors description: Security and compliance search action errors. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchJobId description: Security and compliance search action job ID estimation. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.EstimateSearchRunId description: Security and compliance search action run ID estimation. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocation description: Security and compliance search action exchange locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.ExchangeLocationExclusion description: Security and compliance search action exchange locations to exclude. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Identity description: Security and compliance search action identity. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.IsValid description: Whether the security and compliance search action is valid. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.JobEndTime description: Security and compliance search action job end time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.JobId description: Security and compliance search action job ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.JobRunId description: Security and compliance search action job run ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.JobStartTime description: Security and compliance search action job start time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.LastModifiedTime description: Security and compliance search action last modified time. type: Date - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Name description: Security and compliance search action name. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocation description: Security and compliance search action public folder locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.PublicFolderLocationExclusion description: Security and compliance search action public folder locations to exclude. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Results description: Security and compliance search action results. type: unknown - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Retry description: Whether to retry if the search action failed. type: Boolean - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.RunBy description: Security and compliance search action run by UPN (email address). type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.RunspaceId description: Security and compliance search action run space ID. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.SearchName description: Security and compliance search action search name. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocation description: Security and compliance search action SharePoint locations to include. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.SharePointLocationExclusion description: Security and compliance search action SharePoint locations to exclude. type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.Status description: Security and compliance search action status. Either "Started" or "Completed". type: String - contextPath: O365.SecurityAndCompliance.ContentSearch.SearchAction.TenantId description: Security and compliance search action Tenant ID. type: String starttaskid: "0" tasks: "0": id: "0" taskid: ac9cf2d6-503b-4966-8eaf-2415716e3649 type: start task: id: ac9cf2d6-503b-4966-8eaf-2415716e3649 version: -1 name: "" iscommand: false brand: "" description: '' nexttasks: '#none#': - "17" separatecontext: false view: |- { "position": { "x": 622.5, "y": -120 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "3": id: "3" taskid: 3571cba9-c9d6-4d8c-875a-a5b9186d45e1 type: playbook task: id: 3571cba9-c9d6-4d8c-875a-a5b9186d45e1 version: -1 name: Waiting for the compliance search to complete. description: |- Use this playbook as a sub-playbook to block execution of the master playbook until a remote action is complete. This playbook implements polling by continuously running the command in Step \#2 until the operation completes. The remote action should have the following structure: 1. Initiate the operation. 2. Poll to check if the operation completed. 3. (optional) Get the results of the operation. playbookName: GenericPolling type: playbook iscommand: false brand: "" nexttasks: '#none#': - "15" scriptarguments: Ids: complex: root: O365.SecurityAndCompliance.ContentSearch.Search accessor: Name Interval: simple: ${inputs.polling_interval} PollingCommandArgName: simple: search_name PollingCommandName: simple: o365-sc-get-search Timeout: simple: ${inputs.polling_timeout} dt: simple: O365.SecurityAndCompliance.ContentSearch.Search(val.Status && val.Status == "InProgress" || val.Status == "Starting").Name separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 max: 100 view: |- { "position": { "x": 242.5, "y": 1825 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "4": id: "4" taskid: be7464c6-2a91-4e03-81aa-a845d917428a type: title task: id: be7464c6-2a91-4e03-81aa-a845d917428a version: -1 name: Search completed type: title iscommand: false brand: "" description: "" separatecontext: false view: |- { "position": { "x": 690, "y": 2720 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "5": id: "5" taskid: 573f6a25-8084-4627-8065-cc7886ba57c6 type: regular task: id: 573f6a25-8084-4627-8065-cc7886ba57c6 version: -1 name: Start search description: Start a stopped, completed, or not started compliance search in the Security & Compliance Center. script: '|||o365-sc-start-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "3" scriptarguments: retry-count: simple: "10" search_name: complex: root: O365.SecurityAndCompliance.ContentSearch.Search accessor: Name separatecontext: false view: |- { "position": { "x": 250, "y": 1630 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "6": id: "6" taskid: 2ee715d2-81ac-46a4-85d9-18af60f8034e type: regular task: id: 2ee715d2-81ac-46a4-85d9-18af60f8034e version: -1 name: Get compliance search description: Get the compliance search by name from the Security & Compliance Center. script: '|||o365-sc-get-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "7" scriptarguments: all_results: simple: "false" export: simple: "false" limit: simple: "1" retry-count: simple: "10" search_name: complex: root: inputs.search_name statistics: simple: "false" continueonerror: true separatecontext: false view: |- { "position": { "x": 350, "y": 510 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "7": id: "7" taskid: 8b35672e-76c8-44b1-8f2d-24b230129bc4 type: condition task: id: 8b35672e-76c8-44b1-8f2d-24b230129bc4 version: -1 name: Does the compliance search exist? description: Check whether the compliance search exists. type: condition iscommand: false brand: "" nexttasks: '#default#': - "8" "yes": - "11" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: simple: O365.SecurityAndCompliance.ContentSearch.Search.Name iscontext: true - - operator: isEqualString left: value: simple: O365.SecurityAndCompliance.ContentSearch.Search.SearchStatus iscontext: true right: value: simple: Success view: |- { "position": { "x": 50, "y": 680 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "8": id: "8" taskid: 8be45e2b-6012-44ff-851a-5785612c58d4 type: regular task: id: 8be45e2b-6012-44ff-851a-5785612c58d4 version: -1 name: Create compliance search description: Create a compliance search in the Security & Compliance Center. script: '|||o365-sc-new-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "5" scriptarguments: allow_not_found_exchange_locations: complex: root: inputs.allow_not_found_exchange_locations case: complex: root: inputs.case description: complex: root: inputs.description exchange_location: complex: root: inputs.exchange_location exchange_location_exclusion: complex: root: inputs. exchange_location_exclusion kql: complex: root: inputs.kql public_folder_location: complex: root: inputs.public_folder_location retry-count: simple: "10" search_name: complex: root: inputs.search_name share_point_location: complex: root: inputs.share_point_location share_point_location_exclusion: complex: root: inputs.share_point_location_exclusion separatecontext: false view: |- { "position": { "x": -190, "y": 1290 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "9": id: "9" taskid: ae23c225-914f-4cf8-88fa-76bc1b5b02cb type: condition task: id: ae23c225-914f-4cf8-88fa-76bc1b5b02cb version: -1 name: Whether to preview the search results. type: condition iscommand: false brand: "" description: "" nexttasks: '#default#': - "4" "yes": - "13" separatecontext: false conditions: - label: "yes" condition: - - operator: isEqualString left: value: complex: root: inputs.preview iscontext: true right: value: simple: "true" - - operator: greaterThan left: value: simple: O365.SecurityAndCompliance.ContentSearch.Search.Items iscontext: true right: value: simple: "0" continueonerrortype: "" view: |- { "position": { "x": 250, "y": 2160 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "11": id: "11" taskid: 877404e3-7a2f-47d2-817e-db477bf4b028 type: condition task: id: 877404e3-7a2f-47d2-817e-db477bf4b028 version: -1 name: Whether to overwrite the existing search. description: If the compliance search exists and force == "true", the existing compliance search will be removed and a new one will be created. If force == "false", the existing search will be used. type: condition iscommand: false brand: "" nexttasks: '#default#': - "14" Existing search: - "5" Force: - "12" separatecontext: false conditions: - label: Force condition: - - operator: isEqualString left: value: complex: root: inputs.force transformers: - operator: toUpperCase iscontext: true right: value: simple: "TRUE" - label: Existing search condition: - - operator: isEqualString left: value: complex: root: inputs.force transformers: - operator: toUpperCase iscontext: true right: value: simple: "FALSE" view: |- { "position": { "x": 275, "y": 875 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "12": id: "12" taskid: ff357573-90be-42f2-8617-324b91c1b2f8 type: regular task: id: ff357573-90be-42f2-8617-324b91c1b2f8 version: -1 name: Remove a compliance search. description: Remove a compliance search by name from the Security & Compliance Center. script: '|||o365-sc-remove-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "8" scriptarguments: retry-count: simple: "10" search_name: complex: root: inputs.search_name separatecontext: false view: |- { "position": { "x": 480, "y": 1070 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "13": id: "13" taskid: 2f7d696d-8e45-4bbf-88bf-63eb8e11a268 type: playbook task: id: 2f7d696d-8e45-4bbf-88bf-63eb8e11a268 version: -1 name: O365 - Security And Compliance - Search Action - Preview description: |- This playbook performs the following: 1. Creates a new compliance search action - Preview (Base on the created compliance search). 2. Waits for the preview action to complete. 3. Retrieves the preview results. playbookName: O365 - Security And Compliance - Search Action - Preview type: playbook iscommand: false brand: "" nexttasks: '#none#': - "4" scriptarguments: search_name: complex: root: O365.SecurityAndCompliance.ContentSearch.Search accessor: Name separatecontext: true loop: iscommand: false exitCondition: "" wait: 1 max: 100 view: |- { "position": { "x": 222.5, "y": 2500 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "14": id: "14" taskid: 313cea7f-359a-4b74-8539-8b77ca1e8ca3 type: regular task: id: 313cea7f-359a-4b74-8539-8b77ca1e8ca3 version: -1 name: Error - Invalid force parameter description: Print an error entry with a given message. scriptName: PrintErrorEntry type: regular iscommand: false brand: "" scriptarguments: message: simple: Force parameter isn't valid. Accepted values are true or false. separatecontext: false view: |- { "position": { "x": 50, "y": 1070 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "15": id: "15" taskid: 885584ce-5a80-474f-8787-ae91b2038671 type: regular task: id: 885584ce-5a80-474f-8787-ae91b2038671 version: -1 name: Get compliance search description: Get a compliance search by name from the Security & Compliance Center. script: '|||o365-sc-get-search' type: regular iscommand: true brand: "" nexttasks: '#none#': - "9" scriptarguments: export: simple: "true" retry-count: simple: "10" search_name: complex: root: O365.SecurityAndCompliance.ContentSearch.Search accessor: Name statistics: simple: "true" separatecontext: false view: |- { "position": { "x": 250, "y": 1990 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "16": id: "16" taskid: 19143fcf-285f-436a-87a5-facc61faf732 type: condition task: id: 19143fcf-285f-436a-87a5-facc61faf732 version: -1 name: Check if search_name is defined. type: condition iscommand: false brand: "" description: Determines search_name is defined. nexttasks: '#default#': - "8" "yes": - "6" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: complex: root: inputs.search_name iscontext: true view: |- { "position": { "x": 275, "y": 210 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 "17": id: "17" taskid: 60a9527a-9a63-4b2d-852e-030aeb25cb29 type: condition task: id: 60a9527a-9a63-4b2d-852e-030aeb25cb29 version: -1 name: Is O365 Security And Compliance enabled? type: condition iscommand: false brand: "" description: Determines if the O365 Search and Compliance integration is enabled. nexttasks: '#default#': - "4" "yes": - "16" separatecontext: false conditions: - label: "yes" condition: - - operator: isExists left: value: complex: root: modules filters: - - operator: isEqualString left: value: simple: modules.brand iscontext: true right: value: simple: SecurityAndCompliance - operator: isEqualString left: value: simple: modules.brand iscontext: true right: value: simple: SecurityAndComplianceV2 - - operator: isEqualString left: value: simple: modules.state iscontext: true right: value: simple: active accessor: brand iscontext: true view: |- { "position": { "x": 622.5, "y": 25 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 system: true version: -1 view: |- { "linkLabelsPosition": { "11_5_Existing search": 0.36, "16_6_yes": 0.65, "16_8_#default#": 0.24, "7_8_#default#": 0.48 }, "paper": { "dimensions": { "height": 2905, "width": 1260, "x": -190, "y": -120 } } } fromversion: 5.5.0 tests: - No tests (deprecated) supportedModules: - agentix - cloud - xsiam - edr - cloud_runtime_security