#UnifiedAuditLog
Microsoft proposes to make a truly horrible change to the Search-UnifiedAuditLog cmdlet that will make #Microsoft365 audit log searches impractical in many cases, including the Exchange dev group's search for EWS App impersonation usage: office365itpros.com/2024/12/17/s...
Horrible Change Coming for the Search-UnifiedAuditLog Cmdlet
On December 12, Microsoft said that they want to make the Search-UnifiedAuditLog cmdlet use high completeness for all its searches. The result is a disaster.
office365itpros.com
December 17, 2024 at 10:50 AM
I've heard some security pros say that the proposed change to the Search-UnifiedAuditLog cmdlet doesn't matter because they use Sentinel for their investigations. But not everything from the unified log reaches Sentinel...

office365itpros.com/2024/12/17/s...
#Microsoft365
Horrible Change Coming for the Search-UnifiedAuditLog Cmdlet
On December 12, Microsoft said that they want to make the Search-UnifiedAuditLog cmdlet use high completeness for all its searches. The result is a disaster.
office365itpros.com
December 20, 2024 at 10:17 AM
Microsoft pulls the proposed change to the Search-UnifiedAuditLog cmdlet after customers protest impact on production scripts. Acknowledges that high completeness searches are too unreliable and poorly performing to proceed.
office365itpros.com/2024/12/17/s...
#Microsoft365
Horrible Change Coming for the Search-UnifiedAuditLog Cmdlet
On December 12, Microsoft said that they want to make the Search-UnifiedAuditLog cmdlet use high completeness for all its searches. The result is a disaster.
office365itpros.com
January 27, 2025 at 3:40 PM
Running #Microsoft365 audit log searches to return large numbers of audit events has become easier and more reliable due to a new property for search results. If you move audit data to external repositories, you need to know this: office365itpros.com/2026/05/18/m...
Search-UnifiedAuditLog Gets MoreRecordsAvailable control
The advent of the MoreRecordsAvailable property gives the Search-UnifiedAuditLog more precise control over fetching large numbers of audit records.
office365itpros.com
May 18, 2026 at 9:07 AM
Microsoft Purview updates the Search-UnifiedAuditLog cmdlet's ResultCount parameter to show a running count of results in real time, adding a new boolean property, AuditSearchRequestMetadata.moreRecordsAvailable, to indicate if more records remain. This improves query progress visibility and affe...
MC1310672: Microsoft Purview: Update to ResultCount parameter in the Search-UnifiedAuditLog cmdlet
**[Introduction]** To improve performance and provide better visibility into query progress, we are updating the behavior of the **ResultCount** parameter for the **Search-UnifiedAuditLog cmdlet** in _Microsoft Purview Audit_. Previously, the **ResultCount** parameter returned the total number of results expected from a query. With this update, **ResultCount** **will display a running count of results** as they are retrieved in _real time_. We are also introducing a new boolean property, **AuditSearchRequestMetadata.moreRecordsAvailable** , which indicates whether additional records are still being retrieved. Together, these updates provide administrators with improved transparency into audit log search progress and better support for script and automation scenarios. **[When this will happen]** * **General Availability (Worldwide, GCC):** We began rolling out in **mid-May 2026** and expect to complete by**late May 2026**. * **General Availability (GCC High, DoD):** We will begin rolling out in **early June 2026** and expect to complete by **late June 2026**. **[How this affects your organization]** _Who is affected_ * Administrators who use **Microsoft Purview Audit** * Administrators running the **Search-UnifiedAuditLog cmdlet** in _PowerShell_ * Organizations with**scripts or automation that rely on audit log search results** _What will happen_ * The **ResultCount parameter** will now display a running count of results as they are retrieved during query execution. * A new boolean property, **AuditSearchRequestMetadata.moreRecordsAvailable** , will indicate whether additional records are still being retrieved. * While the query is running: * **ResultCount** shows the number of records retrieved so far. * **moreRecordsAvailable** is set to **_true_**. * When the query completes: * **ResultCount** reflects the final total number of results. * **moreRecordsAvailable** is set to **_false_**. * This feature is **enabled by default**. * There is no change to audit log data or retention. * Existing scripts that rely on **ResultCount** representing a final total before completion may require updates. **[What you can do to prepare]** * Review existing scripts and automation that rely on **ResultCount** to determine total results. * Update scripts to use **AuditSearchRequestMetadata.moreRecordsAvailable** to confirm when queries are complete. * Adjust pagination or query logic to incorporate a check for **AuditSearchRequestMetadata.moreRecordsAvailable** to reliably determine whether more records remain. * Test audit log searches and automation during the rollout window from **mid-May through late May 2026**. * If you run **Search-UnifiedAuditLog** manually in _PowerShell_ and review results interactively, no changes are needed. You will benefit from improved real-time progress visibility. **Learn more:** * Learn about auditing solutions in Microsoft Purview | Microsoft Purview | Microsoft Learn * Search-UnifiedAuditLog | policy-and-compliance-audit | ExchangePowerShell | Microsoft Learn _If you have questions or need assistance, contact Microsoft Support._ **[Compliance considerations]** **Question**| **Answer** ---|--- Does the change alter how existing customer data is processed, stored, or accessed?| Yes. The change modifies how audit search results are reported during execution by providing incremental counts instead of a final total upfront. Does the change alter how admins can monitor, report on, or demonstrate compliance activities?| Yes. Administrators gain improved visibility into audit search progress through real-time result reporting, which can enhance monitoring workflows.
blog.tophhie.cloud
May 15, 2026 at 12:01 AM
Microsoft 365 Audit Log Failure: Risks and Workarounds for Search-UnifiedAuditLog Cmdlet Issues

Introduction The `Search-UnifiedAuditLog` cmdlet is a critical PowerShell tool for monitoring security events in Microsoft 365, including role changes, permission updates, and incident response…
Microsoft 365 Audit Log Failure: Risks and Workarounds for Search-UnifiedAuditLog Cmdlet Issues
Introduction The `Search-UnifiedAuditLog` cmdlet is a critical PowerShell tool for monitoring security events in Microsoft 365, including role changes, permission updates, and incident response workflows. Recently, users have reported failures with the error: "Failed to process request via SyncSearch flag, returning HttpRequestException." This disruption could silently cripple automated security alerts, leaving organizations vulnerable to undetected threats. Learning Objectives Understand the impact of `Search-UnifiedAuditLog` failures on security monitoring.
undercodetesting.com
June 20, 2025 at 7:36 AM
$strSessiondID = [guid]::NewGuid().ToString()
$results = Search-UnifiedAuditLog -StartDate $dateTimeFullQueryStart -EndDate $dateTimeFullQueryEnd -SessionId $strSessiondID -ResultSize 1

$results.ResultCount
# Returns 0 when it should return ~300000000
December 11, 2024 at 7:48 PM
I found a Microsoft 365 bug today in a customer tenant where Search-UnifiedAuditLog returns 0 in the ResultCount property despite more than zero results. Repro code:

$dateTimeFullQueryStart = [datetime]'11/26/2024 18:10:12'
$dateTimeFullQueryEnd = [datetime]'12/11/2024 18:10:12'
(continued)
December 11, 2024 at 7:48 PM
🚨#ExchangeOnline: Search-MailboxAuditLog and New-MailboxAuditLogSearch will #retire on March 1 2025.
techcommunity.microsoft.com/blog/microso...
Learn how to use Search-UnifiedAuditLog or #MSGraph to query the #AuditLog from my #Blog Article: bit.ly/4czVFwy
Microsoft Exchange Online: Search-MailboxAuditLog and New-MailboxAuditLogSearch will retire | Microsoft Community Hub
Overview As part of our ongoing efforts to improve the logging capabilities of Exchange Online, we are sharing our timeline for decommissioning the...
techcommunity.microsoft.com
January 20, 2025 at 7:53 PM
🚀I've made a comparision for query the #M365 #Auditlog between the #ExchangeOnlin Search-UnifiedAuditLog and the new #MicrosoftGraph Beta query. Read all the details in my #Blog Article 📣
bit.ly/4czVFwy
July 15, 2024 at 5:44 AM
These are unified audit log records, not security events. They're the same data as processed by the Search-UnifiedAuditLog cmdlet or the Audit solution in the Purview portal. The AuditLogQuery resource shows up under security, but that doesn't make it a security log.
practical365.com/audit-log-qu...
Practical Graph: Using the Microsoft AuditLog Query Graph API (Preview)
The unified audit log is the source of a lot of information about a Microsoft 365 tenant. The Search-UnifiedAuditLog cmdlet is available to search the audit log and now we have the AuditLog Graph API....
practical365.com
January 27, 2025 at 11:19 AM
This took way way too much work. Still testing it but I think we finally have a way to truly audit the Microsoft Unified Audit Log.

> Microsoft's `Search-UnifiedAuditLog -SessionCommand ReturnLargeSet` can't be trusted to return the same data twice. Each session hands back some random slice of […]
Original post on infosec.exchange
infosec.exchange
June 17, 2026 at 5:56 PM
Wait. The "Search-UnifiedAuditLog" cmdlet returns unsorted, non-deterministic data and each run of the same timeframe might give you different data? What the hell Microsoft.

I keep expecting better from Microsoft and yes, that is on me.

#microsoft #powershell #auditing #security #m$
June 16, 2026 at 4:45 PM
Any Unified Audit Log wizards out there? I'm used to using Search-UnifiedAuditLog, but that's not viable for a lot of people Issue: The Unified Audit Log used to have a filter for IP Addresses, but that wasn't carried over to the new console (security/compliance.microsoft.com)
November 17, 2024 at 10:57 PM