Session reliability and automatic reconnection
Supported on: All Citrix Workspace supported platforms
Description
"This policy configures client behaviour in case of network failure. To set the reconnection to , select: Enable automatic reconnection : In case of network failure, the client automatically attempts to reconnect to a server Enable session reliability: In case of network failure, the client attempts reconnection to an SSL/TS server. NOTE: If both Enable Automatic reconnection and Enable session reliability is selected, the client by default selects the option Enable session reliability in case of network failure. NOTE: If this policy is enabled and none of the options are selected, the policy is not enforced. Transparency Level: The transparency level applied to XA/XD session during session reconnection. Setting 0 indicates that XA and XD will be turned to black window at the session reconnection. Setting 100 indicates that no transparency layer will be applied (frozen screen) Troubleshooting: Some proxy servers automatically disconnect connections that are idle for a certain length of time. This can cause client sessions to be disconnected when not in use. A server-side option ""ICA Keep-Alive"" is available to send extra data packets during periods of inactivity that can be used prevent proxies from closing connections. "
Registry
Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection 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: Session reliability and automatic reconnection
; State: Enabled
; Supported on: All Citrix Workspace supported platforms
[HKEY_CURRENT_USER\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection]
"TransportReconnectEnabled"=dword:00000001
"CGPAddress"=dword:00000001
"NetDisruptBrightness"=dword:00000050 PowerShell
# Exported from gporais.com
# Policy: Session reliability and automatic reconnection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TransportReconnectEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'CGPAddress' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'NetDisruptBrightness' -Value 80 -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: Session reliability and automatic reconnection
# 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\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'TransportReconnectEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'CGPAddress' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'NetDisruptBrightness' -Expected 80 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Session reliability and automatic reconnection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TransportReconnectEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'CGPAddress' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'NetDisruptBrightness' -Value 80 -Type DWord SCCM CI
# Exported from gporais.com
# Policy: Session reliability and automatic reconnection
# 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: Session reliability and automatic reconnection
# 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\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'TransportReconnectEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'CGPAddress' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection' -Name 'NetDisruptBrightness' -Expected 80 -Kind DWord)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Session reliability and automatic reconnection
# State: Enabled
# Supported on: All Citrix Workspace supported platforms
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\Engine\Lockdown Profiles\All Regions\Lockdown\Network\Reconnection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'TransportReconnectEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'CGPAddress' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'NetDisruptBrightness' -Value 80 -Type DWord