Functions/SessionManagementUtilities/Get-PVCTLCertificate.ps1
Function Get-PVCTLCertificate { <# .SYNOPSIS Lists all the certificates in the Certificate Trust List store. .DESCRIPTION Exposes the PACLI Function: "CTLLIST" .PARAMETER ctlFileName The name of the CTL file that contains the certificates to list. If this parameter is not supplied, the CTL file name that was supplied in the INIT function is used. .PARAMETER sessionID The ID number of the session. Use this parameter when working with multiple scripts simultaneously. The default is ‘0’. .EXAMPLE Get-PVCTLCertificate lists all the certificates in the Certificate Trust List store/file using the CTL file provided as parameter value to Start-PVPacli function. .NOTES AUTHOR: Pete Maan #> [CmdLetBinding()] param( [Parameter( Mandatory = $False, ValueFromPipelineByPropertyName = $True)] [string]$ctlFileName, [Parameter( Mandatory = $False, ValueFromPipelineByPropertyName = $True)] [int]$sessionID ) PROCESS { $Return = Invoke-PACLICommand $Script:PV.ClientPath CTLLIST "$($PSBoundParameters.getEnumerator() | ConvertTo-ParameterString) OUTPUT (ALL,ENCLOSE)" if($Return.ExitCode -eq 0) { #if result(s) returned if($Return.StdOut) { #Convert Output to array $Results = (($Return.StdOut | Select-String -Pattern "\S") | ConvertFrom-PacliOutput) #loop through results For($i = 0 ; $i -lt $Results.length ; $i += 3) { #Get Range from array $values = $Results[$i..($i + 3)] #Output Object [PSCustomObject] @{ #Add elements to hashtable "Subject" = $values[0] "Issuer" = $values[1] "FromDate" = $values[2] "ToDate" = $values[3] } | Add-ObjectDetail -TypeName pacli.PoShPACLI.CTL.Certificate -PropertyToAdd @{ "sessionID" = $sessionID } } } } } } |