msgraph-sdk-powershell icon indicating copy to clipboard operation
msgraph-sdk-powershell copied to clipboard

New-MgBetaSecurityAuditLogQuery Returns Invalid URI: The format of the URI could not be determined.

Open 12Knocksinna opened this issue 6 months ago • 1 comments

Describe the bug

Attempting to submit a new audit log query with code that has been running for ages that fails in V2.28.

Here's the payload:

$AuditQueryParameters = @{} #$AuditQueryParameters.Add("@odata.type","#microsoft.graph.security.auditLogQuery") $AuditQueryParameters.Add("displayName", $AuditJobName) $AuditQueryParameters.Add("OperationFilters", $AuditQueryOperations) $AuditQueryParameters.Add("filterStartDateTime", $AuditQueryStart) $AuditQueryParameters.Add("filterEndDateTime", $AuditQueryEnd)

The URI (to the V1,0 endpoint) is correct as per documentation https://learn.microsoft.com/en-us/graph/api/security-auditcoreroot-post-auditlogqueries?view=graph-rest-1.0&tabs=powershell, but attempts to use the Graph API or the beta cmdlet both fail with the same error.

$Uri = "https://graph.microsoft.com/V1.0/security/auditLog/queries" $AuditJob = Invoke-MgGraphRequest -Method POST -Uri $Uri -Body $AuditQueryParameters

or

New-MgBetaSecurityAuditLogQuery -BodyParameter $AuditQueryParameters New-MgBetaSecurityAuditLogQuery_Create: Invalid URI: The format of the URI could not be determined.

Expected behavior

I expect an audit job to be created.

How to reproduce

See above.

SDK Version

V2.28

Latest version known to work for scenario above?

No response

Known Workarounds

None.

Debug output

Click to expand log ``` New-MgBetaSecurityAuditLogQuery -BodyParameter $AuditQueryParameters -debug

Are you sure you want to perform this action? Performing the operation "New-MgBetaSecurityAuditLogQuery_Create" on target "Call remote 'POST /security/auditLog/queries' operation". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y DEBUG: [CmdletException]: Received exception with message 'UriFormatException - Invalid URI: The format of the URI could not be determined. : at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions) at System.Uri..ctor(String uriString) at Microsoft.Graph.PowerShell.Authentication.Core.Utilities.AuthenticationHelpers.GetInteractiveBrowserCredentialAsync(IAuthContext authContext, CancellationToken cancellationToken) at Microsoft.Graph.PowerShell.Authentication.Core.Utilities.AuthenticationHelpers.GetTokenCredentialAsync(IAuthContext authContext, CancellationToken cancellationToken) at Microsoft.Graph.PowerShell.Authentication.Core.Utilities.AuthenticationHelpers.GetAuthenticationProviderAsync(IAuthContext authContext) at Microsoft.Graph.PowerShell.Authentication.Helpers.HttpHelpers.GetGraphHttpClient() at Microsoft.Graph.Beta.PowerShell.Module.BeforeCreatePipeline(InvocationInfo invocationInfo, HttpPipeline& pipeline) at Microsoft.Graph.Beta.PowerShell.Module.CreatePipeline(InvocationInfo invocationInfo, String parameterSetName) at Microsoft.Graph.Beta.PowerShell.Cmdlets.NewMgBetaSecurityAuditLogQuery_Create.ProcessRecordAsync()' New-MgBetaSecurityAuditLogQuery_Create: Invalid URI: The format of the URI could not be determined. DEBUG: [CmdletEndProcessing]: - New-MgBetaSecurityAuditLogQuery end processing.

</details>


### Configuration

Name                           Value
----                           -----
PSVersion                      7.5.1
PSEdition                      Core
GitCommitId                    7.5.1
OS                             Microsoft Windows 10.0.26100
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

### Other information

_No response_

12Knocksinna avatar May 14 '25 09:05 12Knocksinna

I found that everything works if you run Disconnect-MgGraph and retry. While this is a solution to an immediate tactical problem, it creates the more strategic issue in why a Graph URI is deemed to be invalid in the middle of an interactive session?

12Knocksinna avatar May 14 '25 13:05 12Knocksinna

Need to re-test this with 2.31.0 or greater.

gavinbarron avatar Oct 27 '25 20:10 gavinbarron