Public/Get-JiraUser.ps1

function Get-JiraUser {
    <#
    .SYNOPSIS
        Sucht Jira-Nutzer per Name/E-Mail oder ruft einen Nutzer per Account ID ab.
    .PARAMETER Query
        Such-String (Name oder E-Mail-Adresse), z.B. "Thomas" oder "thomas@firma.ch".
    .PARAMETER AccountId
        Atlassian Account ID eines bekannten Nutzers.
    .PARAMETER MaxResults
        Maximale Trefferanzahl bei der Suche per -Query. Standard: 50.
    .EXAMPLE
        Get-JiraUser -Query "thomas@firma.ch"
    .EXAMPLE
        Get-JiraUser -AccountId "5b10a2844c20165700ede21g"
    #>

    [CmdletBinding(DefaultParameterSetName = "ByQuery")]
    param (
        [Parameter(Mandatory = $true, ParameterSetName = "ByQuery")]
        [string]
        $Query,

        [Parameter(Mandatory = $false, ParameterSetName = "ByQuery")]
        [int]
        $MaxResults = 50,

        [Parameter(Mandatory = $true, ParameterSetName = "ById")]
        [string]
        $AccountId
    )

    begin {
        $ErrorActionPreference = "Stop"
    }

    process {
        if ($PSCmdlet.ParameterSetName -eq "ById") {
            $response = Invoke-JiraApi -Method Get -Path "/rest/api/3/user?accountId=$([uri]::EscapeDataString($AccountId))"
        }
        else {
            $Path = "/rest/api/3/user/search?query=$([uri]::EscapeDataString($Query))&maxResults=$MaxResults"
            $response = Invoke-JiraApi -Method Get -Path $Path
        }
    }

    end {
        return $response
    }
}