Public/Get-GuacLanguage.ps1
|
function Get-GuacLanguage { <# .SYNOPSIS Gets the list of available languages on the Guacamole instance. .DESCRIPTION Retrieves the map of available language keys to their human-readable display names from the Guacamole instance (LanguageRESTService.getLanguages). This is a session-level endpoint; it does not require a data source. Reference (Apache Guacamole 1.6.0): - guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java (@Path("/languages"), getLanguages: @GET returns Map<String, String>) - guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java (getLanguageNames) .EXAMPLE Get-GuacLanguage -Session $session .EXAMPLE $langs = Get-GuacLanguage -Server 'https://guac.example.com/guacamole' $langs | ForEach-Object { "$($_.Key) - $($_.Value)" } #> [CmdletBinding()] [OutputType([object])] param ( [Parameter(Mandatory = $false)] [AllowNull()] [N2C_GuacAdmin_GuacSession] $Session, [Parameter(Mandatory = $false)] [AllowEmptyString()] [string] $Server = [string]::Empty ) # Session-level endpoint: resolve server/token but not data source $resolved = Resolve-GuacSessionForServer -Session $Session -Server $Server -CmdletName 'Get-GuacLanguage' $path = '/api/languages' return (Invoke-GuacRest -Server $resolved.Server -Token $resolved.Token -Method GET -Path $path) } |