New-PSURateLimit
SYNOPSIS
Creates a new rate limit for the PowerShell Universal server.
SYNTAX
New-PSURateLimit -Endpoint <String> -Period <TimeSpan> -Limit <Int32> [-ComputerName <String>]
[-AppToken <String>] [-UseDefaultCredentials] [<CommonParameters>]
DESCRIPTION
Creates a new rate limit for the PowerShell Universal server. Rate limits affect the entire server. You can limit the scope of the rate limit based on URLs.
Rate limit configurations are stored in .universal/rateLimits.ps1
You can also use this cmdlet to create rate limits through the REST API.
You can use Set-PSUSetting to configure allow lists for IPs, endpoints and computer names that are not affected by the rate limiting.
EXAMPLES
Example 1
New-PSURateLimit -Endpoint "/myEndpoint" -Period ([TimeSpan]::FromMinutes(10)) -Limit 100
Creates a new rate limit that prevents the user from calling the /myEndpoint endpoint more than 100 times in 10 minutes.
PARAMETERS
-AppToken
The AppToken that is used for calling the PowerShell Universal Management API. You can also call Connect-PSUServer before calling this cmdlet to set the AppToken for the entire session.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ComputerName
Specifies the computer name or URL that should be called when accessing the PowerShell Universal Management API. You can also use Connect-PSUServer before calling this cmdlet to set the computer name for the entire session.
Type: System.String
Parameter Sets: (All)
Aliases: Uri
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Endpoint
The URL of the endpoint to rate limit. The URL can contain wildcards using the * character.
Type: System.String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Limit
The number of requests over the period.
Type: System.Int32
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Period
The period of time to enforce the limit.
Type: System.TimeSpan
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-UseDefaultCredentials
Use default credentials when connecting to the management API
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.