Для чего нужно использовать протекторы?
Доп. параметры применяются в процедуре SyncCWMPVariables. Особенность данной процедуры в том, что по умолчанию она работает в режиме полной синхронизации. Т.е. она добивается того чтобы в устройстве была ровно такая же конфигурация как описана в правилах. Поэтому она начинает применять удаление к "лишним" веткам и т.д.
Чтобы отключать этот механизм необходимо ставить протектор. Синтаксис: #
Простой пример:
InternetGatewayDevice.WANDevice.#1.WANConnectionDevice.#1.WANIPConnection.#1.X_TelnetAccessEnable
Это предотвратит ненужную синхронизацию и просто изменит параметр.
А почему не работает с полной синхронизацией?
Для полной синхронизации нужен полный набор параметров. Т.е. даже те параметры, которые не меняются.
Нужны все инстансы (особенно динамические).
В своё время делали так: делали полный дамп конфигурации, вычищали read-only параметры и служебные ветки и загоняли полным набором правил. При чем для профиля вычищали еще и персонифицированные данные, перенося их в "короткие" параметры.