functions/secrets/Get-TssSecretAssociatedSecret.ps1
|
function Get-TssSecretAssociatedSecret { <# .SYNOPSIS Get the secrets associated with a custom launcher on a secret .DESCRIPTION Returns the custom launcher (ID and name) and, in order, the secrets it pulls credentials from. Returns nothing when no secrets are associated. .PARAMETER TssSession TssSession object created by New-TssSession for authentication .PARAMETER Id Secret ID .PARAMETER LauncherId Custom launcher ID .EXAMPLE $session = New-TssSession -SecretServer https://alpha -Credential $ssCred Get-TssSecretAssociatedSecret -TssSession $session -Id 42 -LauncherId 4 Returns the secrets associated with custom launcher 4 on secret 42 .LINK https://thycotic-ps.github.io/thycotic.secretserver/commands/secrets/Get-TssSecretAssociatedSecret .LINK https://github.com/thycotic-ps/thycotic.secretserver/blob/main/src/functions/secrets/Get-TssSecretAssociatedSecret.ps1 .NOTES Requires TssSession object returned by New-TssSession #> [CmdletBinding()] [OutputType('Thycotic.PowerShell.Secrets.CustomLauncherSettings[]')] param ( [Parameter(Mandatory, ValueFromPipeline, Position = 0)] [Thycotic.PowerShell.Authentication.Session] $TssSession, [Parameter(Mandatory, ValueFromPipelineByPropertyName)] [Alias('SecretId')] [int[]] $Id, [Parameter(Mandatory)] [int] $LauncherId ) 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, 'secrets', $currentId, 'launchers', $LauncherId, 'associated-secrets' -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-TssSecretAssociatedSecret request' $err = $_ . $ErrorHandling $err } if ($restResponse) { [Thycotic.PowerShell.Secrets.CustomLauncherSettings[]](. $FilterTssResponse $restResponse ([Thycotic.PowerShell.Secrets.CustomLauncherSettings])) } } } else { Write-Warning 'No valid session found' } } } |