AnyConnect перезаписывает ваш профиль? Это совпадение имён
Два шлюза, одно имя файла: клиент хранит последний профиль в вашей папке, а библиотека общая для всей машины. Переименуйте копии, чтобы сохранить оба.
Ходит история о том, что AnyConnect потерял ваш второй шлюз или что клиент слишком стар, чтобы держать два профиля. Ни то, ни другое не произошло. Произошло вот что: клиент сохраняет каждый увиденный профиль как файл с именем, которое прислал сервер, а ваши два шлюза называют свой файл одинаково. На диске для этого имени есть одно место, поэтому второе скачивание занимает место первого.
Две папки, и только одна из них ваша
Копия, которая меняется, — это рабочая копия в вашем собственном профиле пользователя, обычно %LOCALAPPDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\preferences.xml. Этот файл записывает последнее подключение и то, какой профиль при нём использовался. Поскольку он лежит в вашей папке, клиент перезаписывает его при каждом подключении, не запрашивая повышение прав.
Список в раскрывающемся меню — это другое. Каждый профиль, который машина когда-либо получала, копируется в %PROGRAMDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile, и клиент показывает файлы, которые там лежат. Запись в эту папку требует прав администратора, что объясняет симптом, который люди читают неправильно: добавление профиля вручную как обычный пользователь выглядит работающим, а затем запись исчезает.
Итак, файл пользователя — это указатель, а папка всей машины — библиотека. Отсутствующая запись означает, что изменилась библиотека, а не указатель.
Клиент сопоставляет файлы по имени, а не по шлюзу
Идентичность профиля в этом клиенте — это имя файла. Два устройства, которые оба публикуют company.xml, с точки зрения локального хранилища профилей — это один и тот же профиль, опубликованный дважды. Второе скачивание перезаписывает первое, а запись в окне продолжает указывать на один файл, который теперь описывает другое место.
Поэтому сбой выглядит так странно. Имя в списке по-прежнему читается как ожидаемое место, аутентификация по-прежнему проходит на том шлюзе, который действительно настроен, и ничто не сообщает об ошибке. Изменилось содержимое за меткой, которой вы доверяли.
Читайте HostAddress, а не метку
Откройте файл в текстовом редакторе и посмотрите на список серверов. В профиле есть элемент HostName — отображаемая метка, и элемент HostAddress — шлюз, с которым клиент действительно связывается. Метка — это произвольный текст, который может изменить кто угодно, а адрес решает, куда вы попадёте.
Сравните эти два значения со шлюзом, к которому вы хотели попасть, прежде чем решать, что клиент сломан.
Сохранить оба шлюза, по порядку
Получите принятый профиль для каждого места — либо с самого места, либо с машины, которая уже подключается. Переименуйте каждый файл так, чтобы имена различались, например site-a.xml и site-b.xml. Как администратор положите оба в папку профилей всей машины и сохраните полученные оригиналы. Затем перезапустите клиент и убедитесь, что обе записи появились в раскрывающемся меню.
После подключения к каждому снова откройте preferences.xml и проверьте, какое имя профиля он теперь записывает как последнее использованное. Если имя совпадает с записью, на которую вы нажали, локальное сопоставление работает правильно. Если нет, что-то всё ещё подкладывает файл поверх вашей переименованной копии.
Что переименование не исправляет
Новое имя файла меняет локальную метку и больше ничего. Адрес шлюза, метод аутентификации, сертификат, который представляет сервер, и любой выбор группы внутри профиля остаются прежними. Переименованная копия неправильного профиля — всё ещё неправильный профиль, и она подключит вас к неправильному месту под убедительным именем.
Она также не переживёт управленческий push, нацеленный на исходное имя файла.
Когда следующий push это отменит
Если ваша организация распространяет профили по имени, обновление заменит любой файл с этим именем. Считайте переименованные копии локальным удобством и повторяйте проверку подключения после каждого обновления клиента, проверяя адрес, а не метку.
Для постоянного решения попросите поддерживаемую конфигурацию с несколькими шлюзами вместо ручного ведения файлов. Изменения в каталоге программы — первое, что удаляет обновление, а файл пользовательских настроек перезаписывается по задумке.
Держите одну строку на шлюз: имя файла, HostAddress и папка, в которой он лежит. Эта заметка ответит на следующее сообщение о неверном месте быстрее, чем переустановка.