Private/ConvertTo-TppGuid.ps1
<#
.SYNOPSIS Convert DN path to GUID .DESCRIPTION Convert DN path to GUID .PARAMETER Path DN path representing an object .PARAMETER TppSession Session object created from New-TppSession method. The value defaults to the script session object $TppSession. .INPUTS Path .OUTPUTS Guid .EXAMPLE ConvertTo-TppGuid -Guid 'xyxyxyxy-xyxy-xyxy-xyxy-xyxyxyxyxyxy' #> function ConvertTo-TppGuid { [CmdletBinding()] [OutputType( [System.Guid] )] param ( [Parameter(Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] [ValidateNotNullOrEmpty()] [ValidateScript( { if ( $_ | Test-TppDnPath ) { $true } else { throw "'$_' is not a valid DN path" } })] [Alias('DN')] [String] $Path, [Parameter()] [switch] $IncludeType, [Parameter()] [TppSession] $TppSession = $Script:TppSession ) begin { $TppSession.Validate() $params = @{ TppSession = $TppSession Method = 'Post' UriLeaf = 'config/DnToGuid' } } process { $params.Add('Body', @{ ObjectDN = $Path } ) $response = Invoke-TppRestMethod @params if ( $response.Result -eq [ConfigResult]::Success ) { if ( $PSBoundParameters.ContainsKey('IncludeType') ) { [PSCustomObject] @{ Guid = [Guid] $response.Guid TypeName = $response.ClassName } } else { [Guid] $response.Guid } } else { throw $response.Error } } } |