У меня есть следующий список VLAN, которые я хочу проверить с помощью ldap.
Tmp-String-0 = "CN=vlan10,CN=Users,DC=aaa,DC=local;CN=vlan20,CN=Users,DC=aaa,DC=local"
С помощью ulang я разрываю их и перебираю через них
if ("%{explode:&control:Tmp-String-0 ;}" > 0) {
foreach &control:Tmp-String-0 {
Затем я пытаюсь выполнить проверкус
Tmp-String-1 := "%{ldap_aaa.local:ldapi://192.168.0.199:389/cn=Users,dc=aaa,dc=local?memberof?sub?(&(objectCategory=User)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})(memberOf=%{Foreach-Variable-0}))}"
Однако %{Foreach-Variable-0}
получает экранированную версию строки:
CN3dvlan202cCN3dUsers2cDC3daaa2cDC3dlocal
Экранированная версия не работает, если я заменю ее жестко закодированнойunesced версия, она работает.
CN=vlan20,CN=Users,DC=aaa,DC=local
Как предотвратить unlang для экранирования переменной?