Configurer le proxy LAN NetScaler à l'aide de DLL
Pris en charge sur : Toutes les plates-formes Citrix Workspace prises en charge
Description
L'application Citrix Workspace prend en charge le lancement de session via le proxy LAN NetScaler. Si des proxys statiques et dynamiques sont configurés, la configuration du proxy dynamique est prioritaire. Vous pouvez configurer un proxy dynamique : sélectionnez la stratégie Configurer le proxy LAN NetScaler à l'aide de DLL. Sélectionnez Activé, puis indiquez le chemin d'accès complet au fichier DLL. Par exemple, C:\Workspace\Proxy\ProxyChooser.dll. Cliquez sur Appliquer, puis sur OK.
Registre
Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy Nom de valeur : DynamicProxyEnabled
Activé : DynamicProxyEnabled = 1
Désactivé : DynamicProxyEnabled = 0
Cette stratégie définit plusieurs valeurs de registre :
ProxyChooserDLL ProxyChooserDLL = ProxyChooserDLL = (supprimée) REG Builder
BETAConfigurez l'état et les éléments pour générer les sorties .reg, PowerShell, Intune et SCCM.
Ces exports reproduisent l'effet registre de la stratégie. Modifier le registre directement n'équivaut pas à appliquer la GPO via la console (pas de gpupdate, pas de suivi centralisé). Testez avant la production ; HKLM nécessite des droits administrateur.
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Configurer le proxy LAN NetScaler à l'aide de DLL
; State: Enabled
; Supported on: Toutes les plates-formes Citrix Workspace prises en charge
[HKEY_LOCAL_MACHINE\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy]
"DynamicProxyEnabled"=dword:00000001
"ProxyChooserDLL"=""
"ProxyChooserDLL"="" PowerShell
# Exported from gporais.com
# Policy: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DynamicProxyEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
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\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'DynamicProxyEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'ProxyChooserDLL' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'ProxyChooserDLL' -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: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DynamicProxyEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String SCCM CI
# Exported from gporais.com
# Policy: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
# 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: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
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\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'DynamicProxyEnabled' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'ProxyChooserDLL' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy' -Name 'ProxyChooserDLL' -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: Configurer le proxy LAN NetScaler à l'aide de DLL
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKLM:\Software\Policies\Citrix\ICA Client\Engine\Network Routing\Proxy\NetScaler LAN Proxy'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'DynamicProxyEnabled' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'ProxyChooserDLL' -Value '' -Type String