Public/Get-TppObject.ps1
function Get-TppObject { <# .SYNOPSIS Get object information .DESCRIPTION Return object information by either path or guid. This will return a TppObject which can be used with many other functions. .PARAMETER Path The full path to the object. \ved\policy will be automatically applied if a full path isn't provided. .PARAMETER Guid Guid of the object .PARAMETER VenafiSession Authentication for the function. The value defaults to the script session object $VenafiSession created by New-VenafiSession. A TPP token or VaaS key can also provided. If providing a TPP token, an environment variable named TPP_SERVER must also be set. .INPUTS Path, Guid .OUTPUTS TppObject .EXAMPLE Get-TppObject -Path '\VED\Policy\My object' Get an object by path .EXAMPLE [guid]'dab22152-0a81-4fb8-a8da-8c5e3d07c3f1' | Get-TppObject Get an object by guid .LINK http://VenafiPS.readthedocs.io/en/latest/functions/Get-TppObject/ .LINK https://github.com/Venafi/VenafiPS/blob/main/VenafiPS/Public/Get-TppObject.ps1 #> [CmdletBinding()] param ( [Parameter(Mandatory, ParameterSetName = 'ByPath', ValueFromPipeline, ValueFromPipelineByPropertyName, Position = 0)] [ValidateNotNullOrEmpty()] [Alias('DN')] [String[]] $Path, [Parameter(Mandatory, ParameterSetName = 'ByGuid', ValueFromPipeline)] [ValidateNotNullOrEmpty()] [Alias('ObjectGuid')] [guid[]] $Guid, [Parameter()] [psobject] $VenafiSession = $script:VenafiSession ) begin { Test-VenafiSession -VenafiSession $VenafiSession -Platform 'TPP' } process { if ( $PSCmdLet.ParameterSetName -eq 'ByPath' ) { $inputObject = $Path | ConvertTo-TppFullPath } else { $inputObject = $Guid } foreach ($thisInputObject in $inputObject) { [TppObject]::new($thisInputObject, $VenafiSession) } } } |