Skip to content

Export-QueryLogs

SharePoint Online: Exports query logs

#Requires -Version 5.1
#Requires -Modules Microsoft.Online.SharePoint.PowerShell

[CmdletBinding()]
Param(
    [Parameter(Mandatory = $true)]
    [string]$LoginName,
    [Parameter(Mandatory = $true)]
    [string]$OutputFolder,
    [datetime]$StartTime
)

Process {
    try {
        $cmdArgs = @{ ErrorAction = 'Stop'; LoginName = $LoginName; OutputFolder = $OutputFolder }
        if (($null -ne $StartTime) -and ($StartTime.Year -gt 2018)) { $cmdArgs.Add('StartTime', $StartTime) }
        Export-SPOQueryLogs @cmdArgs | Out-Null
        [PSCustomObject]@{ Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"; Status = "Success"; Message = "Query logs exported for '$LoginName' to '$OutputFolder'" }
    }
    catch { throw }
}

Login name of the user whose query logs to export

Target folder where the CSV file is generated

Point in time to export logs from

An interactive directory of PowerShell scripts.