Комментарии 79
реверс инженер это не специальность, это методология. Кажется, я уже видел очень похожую строку в реестре, в разделе Policies (там я ранее как раз искал какой-нибудь параметр, который и мог приводить к проблеме)
Может вы ее и создали?
Способ починки просто невероятный, всегда радовали умения других в дебагинге даже таких сложных штук, как винда.
Я принял челлендж на "прогуглить проблему", и похоже, что данная проблема была как минимум год назад:
https://www.dell.com/support/kbdoc/ru-ru/000155876/how-do-i-resolve-the-error-message-your-system-administrator-disabled-the-display-control-panel-in-microsoft-windows
...и 11 лет назад:
https://onlinecomputertips.com/support-categories/pc-troubleshooting/208-system-administrator-disabled-the-display/
Альтернативный вариант фикса "Some settings are managed by your administrator" (и самый правильный) - это установить групповую политику Disable the Display Control Panel в "Not Configured" или "Disabled" (скрин с Win10):
Administrative Templates / Control Panel / Display

Пробраться сквозь дебри одинаково неподходящих ответов очень сложно, с целью найти подходящее решение. Ведь никаких подсказок о том, почему винда так пишет, и как это исправить нигде не даётся.
Да, порой кунг-фу гугления оказывается сложнее расчехления специализированной тулзы (или как минимум приятнее).
С Виндой проблема в том, что при гуглинге всплывает тонна SEO-буллшита, пытающегося пропихнуть очередную платную бесполезную утилиту, абсолютно бесполезного и засоряющего весь поиск...
Немножко помогает uBlacklist, у меня уже список из пары сотен таких сайтов.
В смысле, никаких подсказок? Фраза "управляется вашим системным администратором" в настройках просто кричит о том, что где-то выставлена специальная политика управления данной настройкой и надо её найти и отключить, если компьютер домашний и администратор этого компьютера по трезвой памяти такие политики не настраивал.
Фраза "управляется вашим системным администратором"
если компьютер домашний и администратор этого компьютера по трезвой памяти такие политики не настраивал
… просто кричит о том, что где-то само собой творится что-то нездоровое.
Но где что выставлено это не помогает понять.
Речь же о поиске в гугле (мой ответ не абстрактный, а на конкретный комментарий был). Не надо перечитывать весь гугол найденных вариантов. Достаточно лишь погуглить политики, которые могли так сделать.
По факту быстрее переустановить с нуля даже чем обновку насильно поставить (с нуля — это полчаса времени и потом файлики поперекидывать, обновка насильно — это часа 4-5 на скачку, установку и надписей «погодите, мы тут что-то делаем»)
На компьютере офисного клерка - может быть. А у меня дома пять экранов установленных приложений (может быть три, если убрать либы) и несколько вечеров на отладку валившегося обновления сэкономили кучу времени на перенос настроек с лицензиями.
Кстати, тут отличное руководство тоже от сотрудника MS, но уже настоящего, а не болванчиков с форума.
всегда радовали умения других в дебагинге даже таких сложных штук, как виндаДа винда как раз крайне дружелюбна к разработчикам и реверсерам.
А вот если вы захотите подобным образом реверсить Linux, вот тут-то вы и познаете настоящий ад. Потому что у нас тут ни дружелюбных отладчиков (есть один только древний динозавр GDB, пользоваться которым по-настоящему мучительно), ни нормальной документации по библиотечным функциям, конфиги размазаны тонким слоем по всей системе, а взаимодействие компонент и подсистем крайне запутано.
Мне для большинства нужд хватает поиск в исходниках и strace. bpftrace в особо запущенных случаях. Зачем в Linux реверсить если можно просто пересобрать со своими изменения и посмотреть?
Вот совершенно нет. "Динозавр gdb" - это, простите, про наиболее мощный и развивающийся отладчик, который разрабатывают и по сей день? Который имеет поддержку для кучи платформ? У которого куча gui-нашлёпок, если кому-то с консолью не совладать? Что до ОС, то для каждого пакета линукса (ок, говорим про Ubuntu/Debian для конкретности) есть пакет с отладочными символами и исходным кодом. Так что подцепиться отладчиком можно не просто так же просто, как показано в статье, да ещё и с исходным кодом! Вряд ли для windows будет исходный код. Конфиги в бОльшей части концентрируются в /etc, а реестр windows, в таком случае, тоже давно превратился в помойку, куда пихают всё все компоненты. Разбираться и там и там придётся. Взаимодействие компонент в windows не запутано? Оу-оу. Оно и запутано, и написано индусами внутри компании и не документировано. А компоненты в Линукс, так как пишутся зачастую, разными людьми/группами, имеют очень даже неплохую документацию по каждому такому компоненту отдельно. Документации по библиотечным функциям, говорите? Ну, вообще смешно. Мы о публичном API? Для большинства стандартных библиотек libc, glibc, gtk, qt - огромная масса док, не хуже MSDN. А что до внутренних функций типа той, что описана в статье, ну-ка покажите на неё документацию, и отдельно на компонент, который автор отлаживал? В Линуксе я не просто дебажил систему, как свой домашний проект, так ещё и пересобирал пару модулей из стандартной поставки дистрибутива, чтобы бажку пофиксить. И теперь они - часть системы.
Я много времени работал разработчиком под Windows до ухода к пингвинам. Windows до 7-ки включительно была вполне юзабельна, нетребовательна к ресурсам, стабильна, и не решала за меня, что мне лучше, чей это компьютер, и когда тут обновляться. Куда пошла компания мелких после этого, один шайтан ведает. Не хочется вообще теперь иметь дело с их поделиями вообще никогда.
Подскажите, GDB сервер уже начал выдавать более осмысленные коды ошибок, чем просто "ошибка 01"?
конфиги в бОльшей части концентрируются в /etc
.config например — тот самый реестр но на текстовых файлах ;)
.config это hkcu, только куда проще и понятнее.
К слову о Линухе: пробовал недавно IDA + ее отладчик для линуха - вполне норм!
Для него есть огромная куча графических интерфейсов. Та же IDA.
Я, вот, как системный администратор Windows, в том числе, сразу, чисто по сообщению, понял, что у вас управление дисплеем было заблокировано политикой. И я даже примерно представляю, где, в каком из административных шаблонов эту политику надо искать (но наизусть не помню). А так как компьютер у вас не в домене, то политика может быть только локальной. Так что я бы запустил редактор локальной групповой политики gpedit.msc, нашел бы нужное место и поправил. Если же ваша версия Windows не поддерживает политику (точнее, ее редактирование), то я бы взял файл шаблона политик (они все лежат в C:\Windows\PolicyDefinitions), нашел бы, где там определен нужный параметр, посмотрел бы ключ и значение реестра, которое он меняет, и поменял бы.
Тем не менее, поздравляю с успешным решением проблемы самостоятельно, а не через гугл(почти). Не поймите меня неправильно — это не упрек и не укор: если что, такими способами решения проблем известный и авторитетный спец по Windows Марк Руссинович не брезговал пользоваться.
PS В порядке общей информакции — вдруг кто не знает, а ему пригодится. Для поиска подозрительных ключей реестра (и файлов конфигурации) есть менее трудоемкий путь, чем использовать отладчик — утилита procmon (Process Monitor) от Sysinternals (сейчас это давно уже часть Microsoft, но утилиты эти поддерживатся до сих пор). С его помощью можно получить трассу обращений к реестру/файловой системе и что-нибудь, имея эту трассу, сделать.
PPS Записал к себле в копилочку интересный факт: оказывается, новый — стильный, модный, моложежный — интерфейс настроек Windows вполне поддерживает старые настрой политик для Control Panel. По крайнейе мере — может.
Окей, а вот как тогда людям помогает включение полной телеметрии при наличии такого же сообщения в других разделах (даже видео есть)? Где связь, и как бы вы решали это?
При включении телеметрии производится модификация некоторого набора параметров реестра, среди которых и нужное нам (случайно или намеренно) затесалось. Я бы так предположил.
Окей, а вот как тогда людям помогает включение полной телеметрии при наличии такого же сообщения в других разделах (даже видео есть)
Если честно — без понятия. Я эти рецепты ни разу подробно не смотрел, что там делать предлагают.
Где связь, и как бы вы решали это?
Как бы решал я, написано выше, и гугление, которое могло бы вывести меня на рекомендации включить полную телеметрию, в изначальный алгоритм решения просто бы не входило. Просто потому, что мне, как администратору, и без гугла было понятно, откуда начинать рыть, из уже имеющихся знаний.
А представить, что бы я делал без этих знаний, у меня фантазии не хватает.
Напомнило мне, как я на заре своей ИТ-карьеры фар (Far Manager) ломал - надоели мне пара "закрытых" меню, я взял отладчик и через несколько часов хождения по коду радостно сообщил коллегам, что дело сделано, мир спасен! А мне посоветовали заглянуть в read.me, а там русским по белому (синему) написано, как легально да пару минут зарегить продукт.
Лингвистический оффтоп
Интересно, как так получилось, что engineer - инженер, а engineering - инжиниринг?...
Я такие вещи дебагал на куда более высоком уровне, с помощью procmon.exe. Запускаем как админ, запускаем процесс, воспроизводим ошибку, останавливаем захват procmon, фильтруем по процессу или имени ехе, и пошли читать, куда оно лезет и за чем. Кроме того, вот эта фраза "some settings are managed by" означает почти во всех микрософтовых приложениях наличие управляющих политик, а они уже находятся в реестре в разделе HKLM|HKCU/Software/Policies для прикладного софта, и в найденном вами месте для системного.
Главный вопрос - кто ж туда этот параметр записал? :-D
Ээээ. Что я только что прочитал?
Строчка эта означает, что на машину применена какая-то настройка групповой политики.
Ждём свежих открытий, что она делится на пользовательскую и машинную, что есть библиотеки-обработчики, настройки времени рефреша, кэш, и даже не знаю какие ещё открытия можно сделать в дебаггере.
«Some settings are managed by your system administrator». Но я и есть администратор!
ну и пошли сложным путем через отладчик, а если бы вы действительно были администратором, то знали бы что возникновение этой надписи означает что этими настройками управляет GPO и идти надо туда ;)
Так я и пошёл туда. А что искать-то дальше?
p.s. пример подсказать не могу. уже года два как на линух с концами переехал
В Твиттере дискуссия про "PowerShell vs. C#" для небольших утилит завершилась схожим выводом - разработчику проще воспользоваться знакомым инструментом, чем заниматься ненормальным программированием со скриптами.
Чем-то напомнило статью на одном беговом форуме в которой один увлеченный бегун любитель рассказывал как на бегу померять пульс на руке не останавливаясь. Так вот он на полном серьезе в 2021ом году не знал о существовании спортивных часов с функцией пульсометра
Очень интересная статья, попалась в рекомендациях. И сразу возник такой вопрос. Нечто подобный метод я недавно думал применить к решению своей небольшой проблемы. Имеется Windows (не важно какая версия), в ней установлен плеер VLC, а также имеется устройство видеозахвата. Я хочу открыть в VLC данное устройство, чтобы смотреть изображение с видеоисточника. Делается это через dshow://. Если оставить параметры dshow:// по умолчанию, то устройство в плеере открывается некорректно. Если указать параметр :dshow-config, то запуск будет предварительно сопровождаться в отдельном окне диалоговым режимом по настройке устройства (источник видеовхода, разрешение, цветовая схема, аппаратные ускорители и т.д.). Это окно настроек берётся из драйвера на устройство. Откуда конкретно именно - я не нашёл. Как только там привожу в порядок некоторые параметры, то всё становится чётко, как мне надо. При повторном запуске настройки сбрасываются, не сохраняются. Данные настройки - вне VLC и вне dshow, они исключительно от устройства. Вопрос у меня такой. Каким образом заставить драйвер по умолчанию конфигурировать моё устройство видеозахвата правильными нужными мне настройками? Чтобы я каждый раз не прибегал к вызову диалога конфигурации параметром :dshow-config. Документации на драйверы и их организацию нету. В реестре ничего не нашёл (мож плохо искал). Наверно надо залезть в файлы драйверов и что-то там исправить.
Кстати, вот этот апдейт:

Что забавно, обновление не ставил, а указанный в статье флаг сегодня снова кто-то установил.
А если очень хочется узнать, какой процесс и когда изменил ключ реестра, можно включить аудит доступа к этому ключу. Для этого нужно, во-первых, разрешить аудит для подкатегории «Аудит реестра» (или всей категории «Доступ к объектам»). Делается это либо, опять-таки, с помощью редактора политики (там есть особенность — аудит для категорий и для подкатегорий включается в несколько разных местах интерфейса, подробности, если нужно, расскажу), либо командой auditpol. А, во-вторых, настроить список контроля доступа в непосредственно в свойствах ключа реестра: на вкладке Аудит в окне Дополнительных параметров безопасности (вызываемых по кнопке Дополнительно из окна разрешений). События аудита пишутся в журнал событий Безопасность.
Имеет также смысл включить аудит запуска процессов (подкатегория Аудит создания процессов в категории дополнительное отслеживание), чтобы иметь информацию, позволяющую идентифицировать процесс, изменивший ключ реестра.
PS События из журнала Безопасность для анализа (их там может оказться много) можно экспортировать, например, командой Powershell Get-WinEvent, или обычной командой wewtutil.exe
Включите что-то типа Process Monitor и настройте фильтр на конкретный ключ.
как насчет того, чтобы поискать-таки виновника и, по итогу, дописать UPD в статью?
Под линуксом для решения страшненький проблем пользуюсь wireshark и strace (ltrace). Под виндой часто спасает processmonitor. Здесь, думаю, он тоже бы помог(особенно если знать что искать)).
У вас тоже круто получилось, отличный способ.
В Windows Server 2022 в некоторых диалогах сделали ссылку с указанием конкретных политик, которые блокируют настройки:
Hidden text

Расшифровка не самая подробная, но хоть что-то:
Hidden text

Как я винду по-реверсерски чинил