src/Metadata/Get-XrmAutoNumberSeed.ps1
|
<# .SYNOPSIS Get the current auto-number seed for a column. .DESCRIPTION Retrieve the current auto-number seed value for an auto-number column using the GetAutoNumberSeed SDK message. .PARAMETER XrmClient Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) .PARAMETER EntityLogicalName Logical name of the entity containing the auto-number column. .PARAMETER AttributeLogicalName Logical name of the auto-number column. .OUTPUTS System.Int64. The current seed value. .EXAMPLE $seed = Get-XrmAutoNumberSeed -EntityLogicalName "new_invoice" -AttributeLogicalName "new_invoicenumber"; .LINK https://learn.microsoft.com/en-us/power-apps/developer/data-platform/create-auto-number-attributes #> function Get-XrmAutoNumberSeed { [CmdletBinding()] [OutputType([long])] param ( [Parameter(Mandatory = $false, ValueFromPipeline)] [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] $XrmClient = $Global:XrmClient, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $EntityLogicalName, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $AttributeLogicalName ) begin { $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); } process { $request = New-XrmRequest -Name "GetAutoNumberSeed"; $request | Add-XrmRequestParameter -Name "EntityName" -Value $EntityLogicalName | Out-Null; $request | Add-XrmRequestParameter -Name "AttributeName" -Value $AttributeLogicalName | Out-Null; $response = $XrmClient | Invoke-XrmRequest -Request $request; $response.Results["AutoNumberSeedValue"]; } end { $StopWatch.Stop(); Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; } } Export-ModuleMember -Function Get-XrmAutoNumberSeed -Alias *; Register-ArgumentCompleter -CommandName Get-XrmAutoNumberSeed -ParameterName "EntityLogicalName" -ScriptBlock { param($CommandName, $ParameterName, $WordToComplete, $CommandAst, $FakeBoundParameters) $validLogicalNames = Get-XrmEntitiesLogicalName; return $validLogicalNames | Where-Object { $_ -like "$wordToComplete*" }; } |