Bidirectional Content Redirection
Supported on: All Citrix Workspace supported platforms
Description
Bidirectional Content Redirection is the feature that allows URLs to be redirected from client to server and vice versa based on configuration. -Published Application/Desktop Name : Indicates the name of the published application / desktop used to launch the redirected URL. This is not used when Bidirectional Content Redirection is enabled on any of the active ICA sessions. Whether its Desktop or Application is decided based on the Type specified below. -Above Name is for Published Type : This indicates the above Name is whether Application or Desktop. -Allowed URLs to be redirected to VDA : This indicates the list of URLs that will be opened on VDA. Semi Colon ";" acts as a delimeter. "*" can be used as wild card. For example *.xyz.com. -Allowed URLs to be redirected to Client : This indicates the list of URLs that will be opened on Client. Semi Colon ";" acts as a delimeter. "*" can be used as wild card. For example *.xyz.com. Note: 1) If there is a URL that is put in both the places, then it will be launched from wherever it originated. 2) If the URL is in neither of them, in that case as well it will be launched from wherever it originated.
Registry
Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection Value name: AllowBidirectionalContentRedirection
Enabled: AllowBidirectionalContentRedirection = 1
Disabled: AllowBidirectionalContentRedirection = 0
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: Bidirectional Content Redirection
; State: Enabled
; Supported on: All Citrix Workspace supported platforms
[HKEY_CURRENT_USER\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection]
"AllowBidirectionalContentRedirection"=dword:00000001
"PublishedAppOrDesktopName"=""
"PublishedAppOrDesktopNameType"="0"
"VDAURLs"=""
"ClientURLs"="" PowerShell
# Exported from gporais.com
# Policy: Bidirectional Content Redirection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowBidirectionalContentRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopName' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopNameType' -Value '0' -Type String
Set-ItemProperty -Path $path -Name 'VDAURLs' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ClientURLs' -Value '' -Type String 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: Bidirectional Content Redirection
# 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 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'AllowBidirectionalContentRedirection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'PublishedAppOrDesktopName' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'PublishedAppOrDesktopNameType' -Expected '0' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'VDAURLs' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'ClientURLs' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Bidirectional Content Redirection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowBidirectionalContentRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopName' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopNameType' -Value '0' -Type String
Set-ItemProperty -Path $path -Name 'VDAURLs' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ClientURLs' -Value '' -Type String SCCM CI
# Exported from gporais.com
# Policy: Bidirectional Content Redirection
# 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: Bidirectional Content Redirection
# 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 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'AllowBidirectionalContentRedirection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'PublishedAppOrDesktopName' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'PublishedAppOrDesktopNameType' -Expected '0' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'VDAURLs' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection' -Name 'ClientURLs' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Bidirectional Content Redirection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Bidirectional Content Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowBidirectionalContentRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopName' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'PublishedAppOrDesktopNameType' -Value '0' -Type String
Set-ItemProperty -Path $path -Name 'VDAURLs' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ClientURLs' -Value '' -Type String