Введение
В больших конторах, таких как банки, часто IT-поддержка осуществляется по многоуровневой схеме. И чем больше структура, тем сложнее в ней все точки соприкосновения линий поддержки, как следствие запрос на внесение небольшого изменения в политику решающего определенную проблему у пользователя перерастает в кучу согласований и не нужной волокиты. Если мешает в работе это нескольким пользователям, то чем согласовывать изменения - проще сделать "костыли"(сделать решение, не правильное по своей сути, но рабочее).
К примеру. Доменной политикой прилетает изменение в Internet Explorer режим обработки всплывающего окна устанавливается "способ определяет Internet Explorer", а чтобы у пользователя все работало нужен "Всегда открывать всплывающие окна в новой вкладке", или политика снимает галку "отображать сайты интрасети в режиме совместимости", а это необходимо для некоторых порталов. Что делать если не удается договориться об включении изменений в политику? Остается только ставить очередные "костыли". Находим что нужно менять, создаем .bat файл, добавляем его в планировщик заданий с реакцией на событие, которое происходит при обновлении политики - PROFIT. Каждый раз после применения политики будет выполняться .bat файл и возвращать нужные нам значения на место.
Основная часть
Сегодня речь поведем о том, как же найти те самые значения, которые мы хотим изменять. Очень многое хранится в реестре, но как найти нужный нам параметр в огромном дереве каталогов реестра? Лично мне помогла в этом программа Process Monitor от Microsoft Sysiternals
Для программы нужны права администратора ПК. Итак запускаем программу.
как видите количество событий огромно и их количество увеличивается. Нам нужно как-то отфильтровать значения. Для этого нажмем на голубую воронку на панели инструментов.
Здесь можно добавлять условия для отображения. Для рассмотренных выше двух проблемах с галками в Internet Explorer нам нужно отфильтровать первым делом события, связанные с этим приложением. Для этого нажимаем на первое окошко и выбираем там "Process Name", а в пустом на скриншоте выше окошке выбираем из списка IEXPLORE.EXE и нажимаем ADD(Добавить)
При работе Internet Explorer выполняет много различных изменений и найти в них что-то также не представляется возможным.
Очевидно, что нам не нужны все эти события. Нам нужно найти события когда Internet Explorer будет записывать/изменять значения в реестре. Операция изменения в реестр называется RegSetValue. Добавляем в фильтр указанную операцию
Я получил чистый лист, но если у вас там отфильтровались какие-то события - нажмите на кнопку с красной урной на панели, чтобы удалить события. Теперь переходим в Internet Explorer и изменяем там положения нужных нам галочек. Я снял галку "отображать сайты интрасети в режиме совместимости". Смотрим в Process Monitor и видим, что появились события. В частности за ту самую галку отвечает параметр HKCU\SOFTWARE\Microsoft\Internet Explorer\BrowserEmulation\IntranetCompatibilityMode
Значение 0 - выключено, 1 выключено.
Чистим события нажав на красную урну. Теперь попробуем посмотреть какой параметр отвечает за режим обработки всплывающих окон. Идем в Internet Explorer и ставим галку
Отфильтровались у нас несколько параметров, ведь у нас несколько настроек там, а кнопка применения одна для всех галок.
Чтобы найти нужный параметр переставим галку у нужного пункта обратно в исходное состояние.
Как видим отфильтровались те же параметры, но у одного отличается значение. В выделенной строке 2, а ниже в том же параметре 0. Это и есть нужный нам параметр
Нужный нам параметр
HKCU\SOFTWARE\Microsoft\Internet Explorer\TabbedBrowsing\PopupsUseNewWindow
А значение в соответствии с тем, что нам необходимо, в мое случае - это 2.
Заключение
На этом мой сегодняшний рассказ подошел к концу. Надеюсь, я смог показать вам , что достаточно просто можно найти изменяющиеся параметры в реестре и с их помощью в дальнейшем создавать "костыли".