functions/discovery/Get-TssDiscoveryPublicKey.ps1
|
function Get-TssDiscoveryPublicKey { <# .SYNOPSIS Get a discovered public key .DESCRIPTION Returns the detail of one or more SSH public keys found by Discovery, including the key, the computer it was found on and the secret it is linked to. .PARAMETER TssSession TssSession object created by New-TssSession for authentication .PARAMETER Id Network item id of the public key .EXAMPLE $session = New-TssSession -SecretServer https://alpha -Credential $ssCred Get-TssDiscoveryPublicKey -TssSession $session -Id 314 Get the detail of discovered public key 314 .LINK https://thycotic-ps.github.io/thycotic.secretserver/commands/discovery/Get-TssDiscoveryPublicKey .LINK https://github.com/thycotic-ps/thycotic.secretserver/blob/main/src/functions/discovery/Get-TssDiscoveryPublicKey.ps1 .NOTES Requires TssSession object returned by New-TssSession #> [CmdletBinding()] [OutputType('Thycotic.PowerShell.Discovery.DiscoveryPublicKey')] param ( [Parameter(Mandatory, ValueFromPipeline, Position = 0)] [Thycotic.PowerShell.Authentication.Session] $TssSession, [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [Alias('NetworkItemId')] [int[]] $Id ) begin { $tssParams = $PSBoundParameters $invokeParams = . $GetInvokeApiParams $TssSession } process { Get-TssInvocation $PSCmdlet.MyInvocation if ($tssParams.ContainsKey('TssSession') -and $TssSession.IsValidSession()) { Compare-TssVersion $TssSession '10.9.000000' $PSCmdlet.MyInvocation foreach ($currentId in $Id) { $restResponse = $null $uri = $TssSession.ApiUrl, 'discovery', 'network', 'item', 'public-key', $currentId -join '/' $invokeParams.Uri = $uri $invokeParams.Method = 'GET' Write-Verbose "Performing the operation $($invokeParams.Method) $uri" try { $apiResponse = Invoke-TssApi @invokeParams $restResponse = . $ProcessResponse $apiResponse } catch { Write-Warning 'Issue with Get-TssDiscoveryPublicKey request' $err = $_ . $ErrorHandling $err } if ($restResponse) { [Thycotic.PowerShell.Discovery.DiscoveryPublicKey](. $FilterTssResponse $restResponse ([Thycotic.PowerShell.Discovery.DiscoveryPublicKey])) } } } else { Write-Warning 'No valid session found' } } } |