Public/oAuth2/Get-APIoAuth2SessionInformation.ps1

function Get-APIoAuth2SessionInformation {
    [CmdletBinding()]
    param (

    )

    DynamicParam {
        # ArrayList mit erlaubten Werten für das ValidateSet
        $validateList = get-APIRunningInstanceOAuth2
    
        # Dynamische Parameter-Definition
        $paramDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary
    
        # Erstellen des Parameter-Attributes inklusive ValidateSet
        $attributes = New-Object System.Collections.ObjectModel.Collection[System.Attribute]
        $paramAttribute = New-Object System.Management.Automation.ParameterAttribute
        $paramAttribute.Mandatory = $true
        $paramAttribute.ParameterSetName = "select_one"
        $attributes.Add($paramAttribute)
    
        # ValidateSet aus den Werten der ArrayList erstellen
        $validateSet = New-Object System.Management.Automation.ValidateSetAttribute($validateList)
        $attributes.Add($validateSet)
        
        # Dynamischen Parameter definieren
        $dynamicParam = New-Object System.Management.Automation.RuntimeDefinedParameter(
            'SelectRunningInstance', # Name des Parameters
            [string], # Typ des Parameters
            $attributes      # Attribute des Parameters (ParameterAttribute + ValidateSet)
        )
    
        # Parameter zum Dictionary hinzufügen
        $paramDictionary.Add('SelectRunningInstance', $dynamicParam)
    
        return $paramDictionary
    }#End Dynamic Parameter
    
    
    begin {

        $instance = $($PSCmdlet.MyInvocation.BoundParameters['SelectRunningInstance'])

        $APICLIENT = get-APIInstanceObjectOAuth2 -instance $instance
        $result = [PSCustomObject]@{
            oAutth2APIConfig = $APICLIENT.oAutth2APIConfig
            oAuth2TokenInformation = $APICLIENT.oAuth2TokenInformation
            SessionInformation = $APICLIENT.SessionInformation
        }
        
        
    }
    
    process {
        
    }
    
    end {
        return $Result
    }
}