Client audio settings
Supported on: All Citrix Workspace supported platforms
Description
This option controls how the sound from the remote application or desktop is directed to the client machine. Select 'Enable Audio' to disable client audio mapping. This does not affect the client to server audio data, which is controlled through the "Remoting client devices" policy. The audio quality between client and server can be set from the Sound Quality drop-down menu. The available options are High, Low and Medium. The lowest and highest port number ranges must be between - 16384 to 65535 Troubleshooting: The server audio options take precedence over these settings, so selecting high quality from the client might not result in a high quality audio being used. The server cannot increase the quality of the audio selected by the client.
Registry
Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio REG Builder
BETAConfigure the state and elements to generate .reg, PowerShell, Intune, and SCCM outputs.
These exports replicate the policy's registry effect. Editing the registry directly is not the same as applying the GPO through the management console (no gpupdate, no central reporting). Test before production; HKLM changes require administrator rights.
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Client audio settings
; State: Enabled
; Supported on: All Citrix Workspace supported platforms
[HKEY_LOCAL_MACHINE\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio]
"ClientAudio"=dword:00000001
"AudioBandwidthLimit"="0-"
"EnableRtpAudio"=dword:00000000
"RtpAudioLowestPort"=dword:00004074
"RtpAudioHighestPort"=dword:0000407d
"EnableUDPThroughGateway"=dword:00000000 PowerShell
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ClientAudio' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'AudioBandwidthLimit' -Value '0-' -Type String
Set-ItemProperty -Path $path -Name 'EnableRtpAudio' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioLowestPort' -Value 16500 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioHighestPort' -Value 16509 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableUDPThroughGateway' -Value 0 -Type DWord Intune XML
No direct Policy CSP / OMA-URI mapping for this policy. Use the Intune Remediation tab, or ingest the ADMX in Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'ClientAudio' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'AudioBandwidthLimit' -Expected '0-' -Kind String)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'EnableRtpAudio' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'RtpAudioLowestPort' -Expected 16500 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'RtpAudioHighestPort' -Expected 16509 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'EnableUDPThroughGateway' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ClientAudio' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'AudioBandwidthLimit' -Value '0-' -Type String
Set-ItemProperty -Path $path -Name 'EnableRtpAudio' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioLowestPort' -Value 16500 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioHighestPort' -Value 16509 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableUDPThroughGateway' -Value 0 -Type DWord SCCM CI
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'ClientAudio' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'AudioBandwidthLimit' -Expected '0-' -Kind String)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'EnableRtpAudio' -Expected 0 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'RtpAudioLowestPort' -Expected 16500 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'RtpAudioHighestPort' -Expected 16509 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio' -Name 'EnableUDPThroughGateway' -Expected 0 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Client audio settings
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Virtual Channels\Audio'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'ClientAudio' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'AudioBandwidthLimit' -Value '0-' -Type String
Set-ItemProperty -Path $path -Name 'EnableRtpAudio' -Value 0 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioLowestPort' -Value 16500 -Type DWord
Set-ItemProperty -Path $path -Name 'RtpAudioHighestPort' -Value 16509 -Type DWord
Set-ItemProperty -Path $path -Name 'EnableUDPThroughGateway' -Value 0 -Type DWord