Skip to content

Set-MgmtGraphRequestContext

MgmtGraph: Updates Microsoft Graph API request configuration

#Requires -Version 5.1
#Requires -Modules Microsoft.Graph.Authentication

[CmdletBinding()]
Param (
    [int]$ClientTimeout,
    [int]$MaxRetry,
    [int]$RetryDelay,
    [int]$RetriesTimeLimit
)

Process {
    try {
        $params = @{
            'Confirm'     = $false
            'ErrorAction' = 'Stop'
        }

        if ($PSBoundParameters.ContainsKey('ClientTimeout')) { $params.Add('ClientTimeout', $ClientTimeout) }
        if ($PSBoundParameters.ContainsKey('MaxRetry')) { $params.Add('MaxRetry', $MaxRetry) }
        if ($PSBoundParameters.ContainsKey('RetryDelay')) { $params.Add('RetryDelay', $RetryDelay) }
        if ($PSBoundParameters.ContainsKey('RetriesTimeLimit')) { $params.Add('RetriesTimeLimit', $RetriesTimeLimit) }

        if ($params.Count -gt 2) {
            Set-MgRequestContext @params
            
            $result = [PSCustomObject]@{
                ClientTimeout    = $ClientTimeout
                MaxRetry         = $MaxRetry
                RetryDelay       = $RetryDelay
                RetriesTimeLimit = $RetriesTimeLimit
                Action           = "RequestContextUpdated"
                Status           = "Success"
                Timestamp        = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
            }
            Write-Output $result
        }
        else {
            Write-Warning "No properties specified to update for request context."
        }
    }
    catch {
        throw
    }
}

Optional. Specifies the client timeout for requests (in seconds).

Optional. Specifies the maximum number of retries for failed requests.

Optional. Specifies the delay between retries (in seconds).

Optional. Specifies the maximum time limit for retries (in seconds).

An interactive directory of PowerShell scripts.