Авторский канал. Windows, безопасность, мобильный мир: • тайное знание • профессиональный ликбез • гадание по логам • срыв покровов • доставка пруфов Чат: @winsiders Блог: outsidethebox.ms Oбратная связь: @vsterkin Поддержать ₽: boosty.to/sterkin
⚙️ Установка Windows 11 с локальной учетной записью
👉 С учетом изменений в версии 24H2
Интернет и учетная запись Microsoft (MSA) теперь заложены в официальные системные требования Windows. В домашнее издание Windows 11 - с версии 21H2, а в профессиональное - с 22H2 (сборка 22557). Первую попытку форсировать это компания сделала еще в Windows 10 1903.
Я пользуюсь MSA, но всегда выполняю установку с локальным аккаунтом, чтобы контролировать имя профиля.
✅ Рабочие способы обойти ограничение
В любых изданиях:
🔹 Выполняйте установку, не подключаясь к сети. На первом экране OOBE нажмите Shift+F10
, щелкните окно командной строки и введите oobe\bypassnro
. Подробнее в отдельном посте.
🔹 Используйте файл ответов - #классика блога в помощь. См. также пост канала об автоматизации OOBE.
Только в изданиях Pro и выше:
🔸Выберите настройку ПК для работы или учёбы, затем в вариантах входа выберите присоединение к домену и задайте имя локальной учетной записи. Ничего связанного с доменом на самом деле не происходит. См. видео.
❌ Не работает начиная с версии Windows 11 24H2:
Вход в учетную запись MicrosoftЧитать полностью…1@1.ru
с паролем1
. Когда MSA не существует или заблокирована, открывался путь в локальную учетную запись. Начиная с версии 24H2 этот путь блокирует новый экран с предложением сбросить пароль.
Windows VPS с зарубежным IP
Разверни Windows-сервер в удобной панели управления Serverspace менее чем за 1 минуту🚀
• 9 локаций по всему миру (США, Европа, ОАЭ, Канада и др.)
• 24/7 поддержка
• Лицензии включены
• Высокий uptime
А что еще нужно?
Только ПРОМОКОД «STERKIN», который превратит 50₽ в 1000₽!
Как активировать промокод?
🔹Зарегистрируйтесь в панели управления Serverspace
🔸Перейдите на страницу «Пополнение баланса»
🔹Активируйте промокод STERKIN во вкладке «Промокод»
🔸Пополните баланс на 50₽ и получите 1000 бонусных рублей на любые услуги Serverspace!
Внимание: активировать промокод необходимо перед пополнением баланса.
Serverspace - международный облачный провайдер, предлагающий автоматическое развертывание виртуальной инфраструктуры на базе Windows, Linux и российских ОС из любой точки мира менее чем за 1 минуту.
Реклама ООО «ИТГЛОБАЛКОМ ЛАБС»
ИНН 7841483359
Erid CQH36pWzJqDLvVfBTh5V9wLHn12zr3qBRVm8rKe9JAhppv
🔒 KeePass: автоматический ввод в приложениях с одинаковыми заголовками окна
Это третий пост серии про #autotype в KeePass. Ранее в канале:
🔹Основы автонабора и порядок записей в его окне
🔹Автоматический ввод учетных данных в браузере по URL страницы
Учетные данные приходится вводить не только в браузерах, но и в приложениях. И в рабочей среде у меня несколько приложений с одинаковым заголовком окна: Sign in
. Соответственно, по сочетанию клавиш Ctrl+Alt+A
вываливается список записей для разных приложений.
👉 Хотелось бы автоматически вводить имя пользователя и пароль соответственно приложению. И эту задачу решает плагин Disambiguator! С его помощью в настройках автонабора для каждой записи можно добавлять параметры {exe:}
и/или {ctl:}
.
🔶 Параметр {exe:}
определяет приложение
Для заголовка окна вместо Sign in
задается Sign in{exe:MyApp.exe}
, например. В качестве значений этот параметр принимает имя файла с расширением и без оного, полный путь к файлу, в том числе с подстановочным символом *
, а также регулярное выражение. Примеры в ридми.
В моем случае есть семейство Java-приложений, где одинаковые не только заголовки окон, но и имена исполняемых файлов - javaw.exe
! Поэтому спасаюсь путем к файлу:Sign in{exe:*\*folder-name*\javaw.exe}
🔶 Параметр {ctl:}
проверяет наличие заданного поля в окне
Его можно указать по ID, имени или классу контрола. Чтобы выяснить их, переведите плагин в режим создания отчета: Tools - The Disambiguator Options - Report, задайте в поле с заголовком окна параметр {report}
и выполните автонабор.
Плагин создаст отчет по всем контролам в окне. Фрагмент:
Child ID: 112
Name : EnterPassword
Class : Static
Child ID: 113
Name : EnterPassword
Class : Edit
Sign in{ctl:113}
. Не забудьте отключить режим отчета у плагина. При автонаборе он проверит не только заголовок окна, но и наличие в нем поля с этим ИД.🔵 Инженер техподдержки? Получи оффер в YADRO всего за неделю!
У тебя есть возможность поучаствовать в One Week Offer от крупнейшей технологической компании России - лидера инженерной индустрии.
Если ты хорошо знаешь принципы серверной архитектуры и СХД и хочешь стать частью масштабных проектов:
• Пришли своё резюме и заполни форму участия до 22 сентября.
• Пройди техническое интервью.
• Получи оффер после успешного собеседования.
Скорее переходи по ссылке, оставляй заявку и стань частью команды.
🔎 Новое в блоге: Дело об окнах командной строки при входе в систему
Это могло бы стать новым делом Шерлока Холмса, однако он уже фактически раскрывал его дважды, как вы увидите дальше. Еще одна вариация не тянет на новую главу, но все-таки дело было любопытное ввиду сложных условий!
Однажды ко мне обратился читатель Максим с просьбой помочь вычислить источник окон командной строки, которые периодически появляются группой при входе в Windows и быстро исчезают. Я уверен, что многие из вас их тоже видели↓ и до сих пор наблюдают иногда.
Максим читал Дело об автозагрузке Windows, однако оно не совсем подходило под его случай. Установить ПО для записи загрузки он не мог. Да и вообще злосчастные окна появляются лишь иногда, причем нерегулярно.
➡️ Читайте в блоге: https://www.outsidethebox.ms/22296/
Пивной бар-хоппинг для айтишников
12 сентября в 20:00
Финтех-компания Точка приглашает в пять московских баров в День программиста! Выпьем пива, пройдём квест про технологии и обсудим холиварные темы. Пройди задания, собери пасхалки и получи подарок — пивной бокал с гравировкой.
Подробнее что будет:
● Бесплатное пиво — по стакану в каждом из пяти баров.
● Квест по пяти барам — грохнем прод, поугадываем звуки ностальгии и найдём ошибки джуна с помощью УФ-фонарика.
● Холивары — обсудим наболевшее с инженерами из Точки:
– Свобода выбора в технологиях: рай разработчика, ад тимлида.
– Техдолг — копить или платить.
– Алгоритмы и задания на собеседованиях — кринж или база.
– 7 столпов ML — нужны ли они все.
– Куда исчезли сисадмины.
Ждём разработчиков, продактов, аналитиков и всех, кто работает в IT. Приходите сами и приводите друзей!
Зарегистрироваться и узнать больше про активности.
⚙️ Как быстро восстановить разрешения на файл или папку
Недавно в чат поддержки пришел человек, который собственноручно сломал разрешения файла hosts
. Он творил полную дичь - пытался сделать этот файл только для чтения, чтобы не слетел некий кряк 🤦♂️
Зато у меня появился повод показать один из моих любимых примеров мощи конвейеров в #PowerShell. От имени администратора:
cd C:\Windows\System32\drivers\etc
Get-Acl networks | Set-Acl hosts
networks
и применяем его к поврежденному hosts
. Это всё! Восстанавливаются разрешения на объект файловой системы и его владелец.-Path
для пути к файлу я опустил. У этих командлетов он первый позиционный, т.е. подразумевается, если не указан. Такие вещи описаны в справке.etc
. Потому что не получалось сохранить измененный файл hosts
🤦♂️🤦♂️ В его инструкциях же не уточнялось, что текстовый редактор надо запускать от админа...⬇️ winget: быстрая установка своего набора программ на чистой системе
Недавно я рассказывал в блоге, как прицепить установку программ с winget к автоустановке Windows. (А заодно как установить winget в Windows Server и изданиях LTSC :) В статье был скрипт с ручной подборкой приложений для winget. Создание такого набора можно существенно автоматизировать!
👉 У winget есть команды export
и import
.
В настроенной системе эта команда сохранит json со списком программ в текущую папку:
winget export -o apps.json
winget import C:\temp\apps.json --ignore-unavailable --accept-package-agreements --accept-source-agreements
-s
: -s msstore
. К сожалению, в этом репо по идентификатору вида 9N8G7TSCL18R
невозможно определить приложение. Можно подставить ИД в ссылку на веб-версию магазина или пройтись по json скриптом #PowerShell:$json = Get-Content -Path "apps.json" -Raw | ConvertFrom-Json
$msstore = $json.Sources | Where-Object {$_.SourceDetails.Name -eq "msstore"} |
ForEach-Object {$_.Packages.PackageIdentifier}
$msstore | ForEach-Object {explorer https://apps.microsoft.com/store/detail/$($_); sleep 1}
# $msstore | ForEach-Object {Get-WinGetPackage -Id $_ -MatchOption Equals} | ft ID,Name -Wrap
search
:winget search nanazip
search
в помощь.import
и export
призваны ускорить создание привычной среды на чистой системе. И они неплохо с этим справляются! Да, не все программы есть в репозиториях, а перенос настроек приложений - отдельная большая тема. Но грех жаловаться на возможность одной командой установить несколько десятков любимых программ ✌️
Читать полностью…
Сегодня у меня для вас #рекомендация — два полезных канала для системных администраторов:
🔐 infosec — литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
👨💻 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
🔐 В Windows 11 24H2 шифрование BitLocker можно легко включить и в домашних изданиях - на ПК с TPM
Вообще, вы можете управлять шифрованием в любом издании Windows. Исторически в домашних изданиях отсутствие графических средств компенсировалось консольными, а единственное реальное ограничение Home - нельзя было включить шифрование.
ℹ️ Включение и выключение шифрования в Параметрах домашних изданий было доступно с Windows 8.1, но только на компьютерах с определенным набором характеристик. Начиная с версии 24H2 сняли требования к Modern Standby / валидации HSTI и проверке портов DMA.
Поэтому теперь во время чистой установки Windows автоматически шифруются праактически любые компьютеры с TPM. То есть вручную включать и не надо даже! Хотя кто-то захочет и отключить 😎
Я подготовил огромный FAQ по нюансам автоматического шифрования BitLocker в Windows 11 24H2. И он уже давно доступен подписчикам на Boosty!
➡️ https://boosty.to/sterkin/posts/6390d301-6775-4915-afb1-1a9704a1437c
Вы можете прочесть этот материал не только по подписке, но и просто поддержав меня разовым взносом на Boosty↑ или еще проще на CloudTips 🤝
Стоит ли переезжать в другую страну ради карьеры? И если да, то с какими сложностями придётся столкнуться?
Решили задать эти вопросы тем, кто пережил опыт релокации.
Присоединяйтесь к видеоподкасту — разберёмся, какие факторы должны помочь принять верное решение, и дадим советы по поиску работы за границей.
→ Бесплатно, 1 августа в 19:00 мск
Вы узнаете:
— в чём плюсы и минусы релокации;
— о чём стоит позаботиться, прежде чем собирать чемодан;
— сложно ли искать работу за границей и как это делать правильно;
— как оценить перспективы для развития карьеры в разных странах;
— на чём сфокусироваться при переезде в новую страну.
Спикеры:
◾️ Полина Димова — старший рекрутер в Яндексе
◾️ Викентий Экгарт — тимлид фронтенд-разработки в стартапе
→ Зарегистрироваться на онлайн-событие
🤦♂️ О фиаско CrowdStrike
Пока российские айтишники закидывались попкорном под видосики коллапса в аэропортах и офисах по всему миру, я помогал коллегам вернуть их системы к жизни 😎 У одного из наших клиентов CrowdStrike Falcon Sensor развернут на всех Windows. Виртуальные десктопы в облачной инфраструктуре стали головной болью техподдержки клиента. Но часть команды сидит по схеме BYOD под управлением Intune на локальных ВМ Hyper-V. И это уже наша сфера ответственности.
Вообще, сломались не все системы. Мой облачный десктоп Windows 365 и локальная ВМ поднялись после одной перезагрузки. Другим повезло меньше. Однако процедура восстановления несложная, и большинство коллег легко справились с ней, следуя моим инструкциям. К счастью, они не впадают в ступор от вида командной строки 🙏
Впрочем, всплыла пара интересных нюансов, которые скорее всего были следствием применения к нашим ВМ политик Intune. Причем неравномерного, что затрудняло диагностику.
🔐 Часть ВМ была зашифрована BitLocker. Я ранее инструктировал команду забэкапить 48-значный пароль восстановления, но сделали это примерно 0,5 человека ;) Этот пароль можно посмотреть в корпоративном личном кабинете. Однако туда нужно входить с авторизованного устройства, у которого... BSOD :)
И даже зайдя с компьютеров коллег, некоторые обнаруживали там отсутствие пароля. Техподдержка клиента должна была помочь, но там был хаос, плюс некоторые некомпетентные агенты сходу слали лесом.
Про креативный способ входа в безопасный режим в обход BitLocker я узнал позже.
🔁 На некоторых ВМ при входе среду восстановления не обнаруживалось локальных администраторов. Это легко обходилась загрузкой в среду восстановления с ISO. Но поведение было странным. Тем более что постфактум whoami /groups
показывала принадлежность пользователя к группе администраторов.
По тексту ошибки нагулилась KB2957212 времен Windows 8.1. Там это поведение списывали как раз на политики и предлагали хотфикс. Возможно, в дальнейшем он так и не вошел в код ОС.
////
⁉️ CrowdStrike клянётся рассказать в своем блоге всю правду по итогам расследования. Но первая часть (недоступно с российских провайдеров) не содержит ответа на вопрос, которым многие задаются. Как такой дефект мог проскочить в прод, минуя автотесты? А точнее - это у них обычное дело или неудачное стечение обстоятельств выявило неочевидный изъян в процессах?
Между тем, ответ на вопрос с автотестами не такой уж и однозначный. Проблемы вызвал свежий файл сигнатур поведенческого анализа. Поэтому возникает вопрос, сколько времени можно и нужно отводить на тестирование новых сигнатур.
🛡 Семь лет назад я рассказывал про облачный компонент защитника Windows. Там антивирус заблокировал подозрительный файл, отправил его на анализ в облако и в ответ получил вердикт "малварь" и новые сигнатуры. Прошло всего 8 секунд! Никакие автотесты вы за это время не проведете.
Да, здесь не совсем такой сценарий. Свои поведенческие сигнатуры CrowdStrike обновляет не каждый день, хотя бывает и по несколько новых файлов за сутки. И в данном случае наверное они могли проверить, что система хотя бы не валится в BSOD, едва получив новый файл.
Но в антивирусной защите счет действительно идет на минуты и секунды. Поэтому с обывательскими представлениями о тестировании вряд ли стоит сюда подходить. Да и не все можно решить тестами. В идеале у программного обеспечения должны быть архитектурно какие-то предохранители, чтобы такая ситуация не возникала ✌️
⚙️ О подходах к диагностике - простых и сложных
Однажды я обнаружил, что у меня не работает магазин Windows: вместо содержимого - ошибки. Я очень редко открываю его, поэтому не знал, в какой момент возникла проблема. Но я ничего не менял у себя очень давно. Вместо диагностики я просто установил нужное приложение с помощью winget и пошел дальше.
Спустя какое-то время у меня возник ворох проблем, вызванных сбоем файловой системы. Решил их я следуя своему же любимому совету - переустановил систему поверх 🔃 Однако Магазин это не починило, что намекало на несистемную природу неполадок.
🌐 С сетью у меня было все ок. Я подключился к двум разным VPN, но ничего не изменилось. Oткрыл консоль и сделал сброс магазина, а затем полностью переустановил его. Не помогло. Тогда я зашёл в чистый аккаунт, и в нем такой проблемы не было. Значит, что-то с моим профилем 💯
Чтобы исключить влияние внешних факторов, я убрал все из автозагрузки и наконец перезагрузился. Магазин заработал! И только тут я связал сообщение о проблемах с сетью с установленным у меня клиентом прокси-сервера (SOCKS5). Разумеется, он стоял в автозапуске. Действительно, без прокси магазин заработал! 🎉
👉 7 лет назад я опубликовал тут пост "Простой прием диагностики Windows, о котором не надо забывать". Речь шла о загрузке в безопасный режим. Как и в тот раз, об этом приеме я сейчас успешно забыл :) Но в итоге фактически пришел к нему, потому что в безопасном режиме автозагрузка тоже не работает. Также, ее отключение - это часть режима "чистой загрузки" в терминологии Microsoft, см. KB929135.
////
ℹ️ На практике множество проблем в Windows легко решается простой двухходовкой:
1. Безопасный режим.
2. Если в нем воспроизводится - переустановка поверх, иначе - поиск проблемной программы или службы.
⏹ Но этому часто мешают разные факторы:
- нежелание перезагружаться
- знание, что "ничего не делал" смещает фокус диагностики - я чинил магазин, хотя проблема решалась в прокси
- переоценка своих навыков - я знаю #PowerShell и еще много страшных слов :)
- или наоборот недооценка знаний, которая сходу ведет в гуглояндекс, где на бестолковых и "сеошных" советах можно потерять кучу времени
В результате вместо простой диагностики получается квест из сложной 🤷♂️
В чате Артём Федотов заметил, что переустановка поверх не повышает уровень знаний, потому что остается невыясненной причинa проблемы. Это правда.
Однако не всегда нужно и целесообразно ее выяснять. Да и не факт, что понимание причины как-то повысит уровень знаний. Ок, узнал я, что проблема в прокси-сервере. Так у меня и раньше с ним внезапно отваливались сервисы Microsoft из-за изменений на их серверной стороне - то не работала Кортана, то блокировался русский голосовой ввод. Решение - тема для отдельного разговора.
В общем, я не имею ничего против сложных методов диагностики. Главное - не забывать о простых ✌️
⚡️ Кто хотел изучить Linux?
Забирайте скорей курс для начинающих всего за 1️⃣0️⃣ ₽.
➡️ Забрать курс: https://vk.cc/cyk7jx
Отус открыл для вас доступ к онлайн-курс 🖥«Linux для начинающих» почти бесплатно!
Обычно курс стоит от 7000₽
😯 Не упустите свою возможность!
Курс рассчитан для программистов и администраторов, которые хотят освоить ОС Linux с нуля!
Что из себя представляет курс?
— 3 модуля с видеолекциями
— Комплексные знания по основам Linux
— Можно учиться в любом месте, где есть доступ в интернет
— Закрепление знаний с помощью тестов
Наш спикер – Андрей Буранов, эксперт по UNIX-вселенной в компании Mail Group.
🎁 В подарок с курсом, бонусом для более эффективной учебы дарим "10 базовых команд Linux"!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⚙️ Новое в блоге: Автоустановка приложений с winget по окончании установки Windows
WinGet — замечательное средство автоматической установки приложений. Не надо тратить время на скачивание актуальных инсталляторов и забивать себе голову тонкостями ключей тихой установки. Просто запускаешь скрипт с подборкой своих программ и готово! 🚀
Но есть нюанс © Установщик пакетов не входит в поставку Windows! Это не вполне очевидно, потому что winget «сразу» работает в начисто установленной ОС. Однако он не включен в WIM-образ, а скачивается уже по окончании установки системы с помощью магазина Windows. И временной интервал загрузки варьируется.
Поэтому нельзя просто взять и прицепить скрипт установки приложений к установке Windows 🤷♂️
Сегодня я расскажу, как автоматизировать процесс загрузки и регистрации winget, когда его нет в Windows.
➡️ Читайте в блоге: https://www.outsidethebox.ms/22436/
📊 Ретроспектива к опросу о выключении компьютера
🔌 Сейчас 44% подписчиков канала выключают компьютер на ночь. Четверть выключающих не в курсе быстрого запуска, который активирован по умолчанию начиная с Windows 8. Если же ограничить выборку только теми читателями, кто выключает ПК или отправляет в различные режимы сна, то 6 человек из 10 предпочитают выключение сну.
🕓 Про быстрый запуск я писал и в канале 3.5 года назад - технология не имеет смысла на приличных конфигурациях. Там же был и предыдущий опрос о выключении компьютера, хотя и с другими вариантами ответов. Тогда 55% выключали ПК всегда или регулярно.
⌛️ Двигаясь назад по шкале времени, возвращаемся в 2012 год - выпиленную кнопку Пуск и статью блога Знаете ли вы все эти способы выключения компьютера? Результаты опроса утеряны, но в комментариях сохранился мой анализ первого дня голосования. Тогда 60% даже самых продвинутых читателей выключали компьютер - 38% владельцев мобильных ПК и 73% стационарных.
Сам я компьютер много лет не выключаю, но понимаю причины, по которым те или иные режимы сна не подходят. Здесь и проблемы с подсистемой электропитания, и перебои со светом, и включение ОС по ночам для установки обновлений.
Однако я остаюсь при мнении, что самая распространенная причина выключения - привычка 😎
👀 Очумелые ручки: лончер программ из кнопки на панели задач
В чате читатель Станислав возжелал странного. Ему захотелось иметь на панели задач кнопку, нажав которую правой кнопкой мыши он смог бы из списка переходов запускать свои программы:
По задумке, это такая "хитрая" замена кучи ярлыков на панели задач и папок, которые надо открывать. При этом позволяющая при расшаре экрана не отсвечивать содержимым панели.
Забегая вперёд, так и осталось невыясненным, почему нужно скрывать от чужих глаз свои приложения. Похоже на классическую неправильно поставленную задачу 🤷♂️
Я сразу предложил искать сторонний лончер, потому что средствами системы такое сделать невозможно. И добавил, что Станислав старательно описывает... меню Пуск! 🚀 Действительно, все то же самое, только вызывается оно левой кнопкой мыши нежели правой. Читателя это не устроило - якобы, во время демонстрации экрана меню Пуск может случайно открыться и спалить список программ.
Тогда я предложил размещать ярлыки секретных программ на рабочем столе 🖥 Перед демонстрацией экрана в его контекстном меню можно выбрать, отображать ярлыки или нет. И в целом читателя это устроило. Но он все равно посетовал, что его исходная хотелка осталось нереализованной.
В чате я общался с телефона. А когда сел за компьютер и окинул взглядом свою панель задач, то сразу придумал решение. В полном соответствии с девизом блога!
👉 Windows Terminal! В терминале можно создать множество профилей, которые автоматически выводятся в список переходов. Их предназначение - запуск различных консолей во вкладках терминала. Но ничто не мешает задать для профиля любую команду!
⚙️ У терминала есть параметры командной строки, но здесь это даже не требуется. Все настраивается в графическом интерфейсе.
1. Создайте профиль и пропишите команду на:
• запуск программы (для приложений в PATH полный путь не нужен)
• открытие папки проводника: explorer c:\temp
2. Укажите путь к значку.
🩼 Разумеется, у этого решения есть недостатки. Приложения будут запускаться чуть медленнее из-за прокладки в виде терминала. И Станислав быстро выяснил, что в списке переходов отображается только 13 профилей. Для запуска остальных придется открывать терминал. Что ж, в магазине есть Terminal Preview, а на GitHub в релизах - Canary в ZIP-архиве. Вот вам и три лончера на 39 программ :)
В общем, think outside the box! ✌️
✅ Новое в Windows 11 24H2: вкладка "Цифровые подписи" у всех файлов
Впервые нововведение было замечено в инсайдерских сборках еще в ноябре 2023 года. Изменение любопытное и несколько загадочное.
До сих пор эта вкладка отображалась только в свойствах файлов с внедренными цифровыми подписями. Например, у исполняемых файлов программ и их установщиков. Теперь она есть у всех файлов. Разумеется, практически у любых созданных вами файлов там будет пусто.
👉 Смысл эта функция обретает при просмотре свойств системных файлов и драйверов. У них теперь отображаются подписи каталогов!
Исторически файлы операционной системы не имели вкладки Digital Signatures (Цифровые подписи) в свойствах и поэтому выглядели неподписанными. Дело в том, что подписывается не каждый файл, а каталог, которому файлы принадлежат.
ℹ️ Каталоги хранятся в папке %windir%\system32\CatRoot
. Открыв любой cat-файл двойным щелчком, вы увидите вкладки General и Security Catalog. На второй вкладке перечислены хэши всех файлов, которые подписаны посредством каталога.
В 24H2 именно к этим сведениям вы и переходите из раздела Catalog Signatures на вкладке Digital Signatures у системных файлов. Просто в этом случае содержимое каталога фильтруется по файлу, который вы просматриваете. Поэтому вы видите в списке только один хэш, а не полный набор хэшей, как при открытии cat-файла.
⚙️ Во время установки драйвера диспетчер PnP извлекает его подпись из каталога и расшифровывает ее, используя публичную часть ключа Microsoft для подписи драйверов. Затем он сравнивает полученный хэш с хэшем файла устанавливавемого драйвера. Если хэши совпадают, драйвер считается прошедшим тестирование WHQL. Иначе диспетчер PnP действует в соответствии с политикой подписи драйверов в операционной системе - отказ, предупреждение пользователя или тихая установка.
Возвращаясь к новой вкладке, я затрудняюсь определить ее практическую пользу. Особенно в этих крошечных древних окошечках Win32. Я также с трудом представляю запрос от пользователей на это. Но вреда никакого нет. Да и хорошо, что наконец закрыли логический пробел с якобы отсутствующей подписью у системных файлов ✌️
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
🤷♂️ Владельцы локализованных Windows должны страдать
Особенно те, кто устанавливают систему с локализованного дистрибутива, нежели накатывает языковой пакет поверх оригинальной английской системы. Ну, может, и не должны, но регулярно страдают :)
Этот тезис получил очередное подтверждение на прошлой неделе. Множество пользователей VMWare Workstation из разных стран не смогли установить новую версию. Всех их объединяло наличие локализованной системы. An error occurred while applying security settings. Authenticated Users is not a valid user or group.
Методом тыка страдальцы выяснили: установка проходит на ура, если создать в системе две группы с латинскими названиями - Authenticated Users
и Users
. Причем членство в этих группах не требуется.
Видимо, установщик просто проверял наличие этих групп по именам. Но такие имена будут только при установке с английского дистрибутива! А вот дальнейшая установка языкового пакета на имена групп уже не повлияет 👌
///
По совпадению я недавно разбирал похожую ситуацию на работе. Нас мигрируют в огороженную среду с правами обычного пользователя, поэтому повылезало много проблем с установкой бизнес-приложений. Детали опущу, но вкратце - некоторые программы легко ставятся мимо Program Files и нормально работают дальше. Прочие же этому противятся, причем нетрадиционными способами 🌈
Нормальные разработчики уже лет дцать используют манифест установщика. И если там указано requireAdministrator
, он будет запускаться только с правами администратора. А тут некое приложение с бородатых времен поставляется в самораспаковывающемся CAB-архиве. Я извлек содержимое командой expand и увидел несколько батников.
Первый батник сходу проверял наличие прав администратора, а при успехе вызывал другие файлы, устанавливающие службу и прочие штуки. Для проверки он искал в выводе команды whoami /groups
строку Mandatory Label\High Mandatory Level
🤦♂️
Сравните самостоятельно результат выполнения команды в консоли с правами обычного пользователя и администратора. Искомая строка будет только во втором случае, потому что процесс имеет высокий уровень целостности. У классических приложений обычного пользователя он средний (Medium).
🪲 Казалось бы, цель достигнута. Однако вывод команды локализован! Поэтому в русской или итальянской Windows вы с любыми правами такого не увидите. И соответственно вообще не сможете установить приложение этим инсталлятором.
Я предложил инженеру QA занести на это дефект, но он махнул рукой. Видимо, клиентская база использует исключительно английские ОС. Так-то даже на уровне батников можно было решить вне зависимости от языка. Например, такой костыль #PowerShell вызовет из одного батника другой с правами админа.powershell -command "Start-Process -FilePath '%~dp0batch2.cmd' -Verb RunAs"
Глагол RunAs
недавно был в канале. Я также показывал управление локальными пользователями и группами вне зависимости от языка ОС.
////
Я исторически использую Windows на английском языке, поэтому подобные проблемы мне не грозят. Если для вас такое невыносимо, хотя бы ставьте английский дистрибутив и накатывайте родной языковой пакет. Иначе - не забывайте так страдать ✌️
От подписчиков 😂 Очень рад, что канал читают люди с отличным чувством юмора!
Читать полностью…▶️ Windows Terminal: перемещение курсора мышью и фрагменты кода
Хочу рассказать вам о паре новых возможностей терминала.
🖱 Перемещение курсора мышью
Нередко бывает, что надо изменить длинную команду. И чтобы перейти в нужное место, приходится давить ⬅️ или ➡️ либо нажимать их, удерживая Ctrl
, что быстрее.
Казалось бы, перемещая руку от клавиатуры к мыши и обратно, ничего особо не ускоришь. Но по моим ощущениям иногда действительно быстрее просто ткнуть мышью в нужную позицию строки 🚀
Этой фичей я уже пользуюсь несколько месяцев в превью терминала, а вчера она стала доступна в стабильной версии. Настраивается для профилей в дополнительных параметрах. Можно включить это поведение для отдельных профилей или сразу для всех (Defaults). Разумеется, у ненужных профилей можно отключить.
Но есть нюанс © Функция экспериментальная, и работает она только в оболочках которые её поддерживают. Например, это PowerShell Core, но не Windows #PowerShell, идущий в комплекте с ОС.
#️⃣ Фрагменты кода (code snippets)
Это только что появилось в превью терминала (я попробовал еще в Canary). Можно сохранять команды и даже небольшие скрипты. И быстро запускать их!
🎦 Демо от ПМа терминала.
По сути осуществляется ввод символов, прописанных в настройках (JSON-файл). В раздел actions
добавляйте действие Send Input с нужным фрагментом.
{ "command":
{
"action": "sendInput",
"input": "ping 1.1.1.1\r ping colts.com\r"
},
"name": "Demo ping",
"keys": "ctrl+alt+p"
}
\r
эмулирует нажатие клавиши Enter
).Ctrl+R
) и Predictive IntelliSense (п. 3, фича модуля PSReadLine). Однако оба способа нередко "замусориваются" вариациями одной команды. Плюс можно выполнять фрагмент заданным сочетанием клавиш. Поэтому я уже вижу применение фрагментам кода!⚙️ Закончилась сага с проблемными обновлениями среды восстановления
Она началась в январе с массовой ошибки 0x80070643
при установке обновления Windows RE в Windows 10. Я публиковал в блоге большой FAQ по теме.
⌛️ Вкратце, ошибка возникла, когда не хватало места на разделе RE или он отсутствовал в принципе. Microsoft предлагала пользователям вручную увеличивать раздел, но даже в статье с инструкциями была эпичная ошибка. А скрипт для увеличения имеющегося раздела появился значительно позже.
За полгода компания прошла все пять стадий принятия неизбежного и в итоге заменила проблемные обновления. Например, KB5034441 -> KB5042320. Причем это не абсолютно новая статья, а обновление старой, в том числе новый номер и ссылка.
ℹ️ Исправление все так же призвано обновить RE. Однако логика его применимости к операционной системе поменялась так, чтобы ошибка не возникала. Теперь обновление не предлагается, если на разделе со средой восстановления мало свободного места или его нет вовсе.
Отмечу пару любопытных нюансов.
🔸 10 июля в текст исходной статьи KB5034441 внесли изменения, которые гласили, что при ряде условий↑ обновление не нужно (sic!) и не будет предлагаться. Однако месяц спустя все-таки перевыпустили исправления под новыми номерами.
🔸 Microsoft решила не просто оставить уязвимыми, но и не уведомлять об этом ошибкой системы с уже включенным шифрованием BitLocker. Более того, в логе изменений KB5042320 говорится, что убрана ненужная информация об уязвимости CVE-2024-20666. Она послужила триггером для выпуска обновления, и никто ее не отменял. Почему информация об уязвимости стала ненужной - загадка 🤷♂️
Так или иначе, все те, кого ошибка действительно беспокоила, за полгода разобрались с увеличением размера раздела RE. Для всего остального есть текущая рекомендация Microsoft. Она фактически сводится к одной фразе: Don't worry, be happy 🎶
🛑 Способы завершения зависших игр и приложений
Опытом в стиле девиза блога делятся участники чата @winsiders.
В актуальной версии Windows 11 есть кнопке завершения программы прямо в ее меню на панели задач. Кнопка включается в параметрах разработчика. Обнаружив ее, dartraiden порадовался:
До диспетчера [задач] не всегда доберешься, если программа особо &!#%^. Бывает, таскбар видно, а вот переключиться на окно диспетчера не получается.
Мне с этим рабочие столы помогают. Бывает, особенно если игра какая зависнет, что ни свернуть ни закрыть нормально, тогда Win+Ctrl+
➡️ и там уже нормально вызывается диспетчер и всё остальное, откуда можно ухуренить зависшее на первом столе.
Win+Ctrl+D
- это создание и переход в одном флаконе. Управление столами - Win+Tab
.Можно просто настроить появление диспетчера поверх всех окон, тогда [по Ctrl+Shift+Esc
] даже зависшая игра с эксклюзивным доступом к фулскрину не помеха.
⚙️ Как переименовать папку профиля
Недавно в чате обсуждали эту исторически болезненную тему. Приступы боли вероятнее при установке Windows с учетной записью Microsoft (MSA). В этом случае в качестве имени папки профиля берется первые 5-6 символов адреса электронной почты 🤷♂️
Потом пользователь обнаруживает это непотребство и пускается во все тяжкие, чтобы переименовать папку - с переменным успехом.
⌛️ Во времена Windows 7 я рекомендовал простое средство переноса данных, но так создавалась новая учетная запись. Кажется, у Microsoft никогда и не было явно поддерживаемого способа для переименования папки профиля. Потому что программы могут записывать в реестр абсолютные пути и потом работать некорректно с новым именем папки.
👌 Косвенно операция поддерживалась способом из KB2454362 - наряду с именем папки нужно изменить значение ProfileImagePath
в реестре. Статья опять же времен Windows 7, но технически здесь вряд ли что-то изменилось.
Для переименования папки там подразумевается наличие еще одного администратора. Но без него можно обойтись, действуя в среде восстановления.
💡 В чате Niks
предложил альтернативный и весьма креативный способ, который вас не устроит. Зато вы сможете выручить тех, кто не пользуется командной строкой и альтернативными файловыми менеджерами.
Можно задать желаемое имя папки в файле desktop.ini
! Впрочем, здесь тоже есть подводные камни.
1️⃣ Создайте в корне профиля (папка %userprofile%
) файл desktop.ini
с таким содержимым:[.ShellClassInfo]
LocalizedResourceName=МоеИмяПапки
2️⃣ В командной строке выполнитеattrib +s +h %userprofile%\desktop.ini
3️⃣ Щелкните папку профиля правой кнопкой мыши, на последней вкладке (Настройка) задайте любой значок и примените изменения. Затем там же восстановите дефолтный значок. Иначе у этой папки имя не поменяется 🙄
////
✔️ Резюме
Лучше не доводить до нежелательного имени папки профиля. Я пользуюсь MSA, но всегда ставлю ОС с локальным аккаунтом, чтобы контролировать имя папки ✌️
🖥 Про обманчивость внешнего вида интерфейсов
На фоне фиаско CrowdStrike сайты и паблики ИТ-тематики пошли вразнос в погоне за хайпом. Например, только ленивый не скопировал новость, что Microsoft для решения проблемы рекомендует 15 перезагрузок. Такую рекомендацию компания не публиковала, хотя формулировка была неудачной.
А как только схлынула первая волна новостей, эти же ресурсы быстро перешли к петросянству 🤦♂️ В наш чат вбросили новость, которая была на Yahoo, HN, Tom's Hardware, XDA Dev и в рунете, конечно.
Якобы американская авиакомпания SouthWest Airlines избежала коллапса, потому что до сих пор использует Windows 3.1 🛫
Основанием для статьи послужила чья-то шутка в Твиттере. Доказательством использования Windows 3.1 стала ссылка на позапрошлогоднюю статью. В ней чиновник из профсоюза пилотов утверждал, что некоторые системы авиакомпании выглядят настолько старыми, будто они были созданы во времена Windows 95.
Эти слова всколыхнули у меня воспоминания...
⌛️ В 2000-х я работал в США в управлении медицинской информацией одной здравоохранительной системы. Там было приложение для работы с базой данных пациентов - персональная информация, даты визитов, лечащие врачи. Без медицинских карт.
Это был терминал типа IBM 3270 (точнее его эмулятор) - как в старые добрые времена! С навигацией F-клавишами. Этих горячих клавиш было больше 12, конечно, что неизменно вводило в ступор новичков. На картинке другой, но очень похожий.
Терминал был очень быстрый. А при использовании горячих клавиш - космически быстрый 🚀
Более современная система с примерно той же информацией и медицинскими картами впридачу обладала красивым GUI. Но она и рядом не стояла по скорости работы 📉 А это критически важно, когда нужно срочно найти пациента по звонку с неполной информацией - имя-фамилия, пожилой, вроде был у вас. При таком раскладе в GUI даже не совались.
Но какой-нибудь клоун посмотрел бы на экран и сказал: ахаха у них DOS!
////
Этот рассказ изначально был моим комментарием к набросу в чате. И сразу несколько человек сказали, что хотели бы видеть такие байки в этом канале. Ваши реакции помогут мне определиться, стоит ли продолжать. Впрочем, я и раньше изредка подкидывал нечто подобное ✌️
😎 Глагол ухуренить
уже прочно вошел в лексикон участников чата @winsiders!
На картинке #автоперевод статьи про среду восстановления в документации Microsoft.
📷 Админские бубны
В конце двухтысячных российский офис Майкрософт начал активно взаимодействовать с сообществом. Это было интересное время - крупные конференции для разработчиков и ИТ-специалистов, встречи юзергрупп, конкурсы для потребителей.
Соответственно, появлялся различный мерч с символикой компании, который раздавали на мероприятиях или в качестве призов за победу в конкурсах либо вклад в сообщество. Кому-то пришла идея сделать бубны, и они отлично зашли 🔥 Думаю, бубен был самым желанным призом!
Например, в 2009 году на OSZone проходил конкурс статей про Windows 7, где бубен слева был призом за третье место наряду с пивным бокалом с символикой TechNet (да, их тоже есть у меня:). Этих небольших бубнов было относительно много.
А вот бубен справа, наверное, из самого первого и ограниченного (пробного?) тиража. Он большой, со слоганом Microsoft тех времен и еще без отсылки к российскому ресурсу TechNet.
И да, он работает! 😎
🎧 Android: почему в некоторых приложениях могут не работать наушники Bluetooth
Однажды мои беспроводные наушники перестали определяться в Teams. Это приложение я использую только в рабочем профиле. Проблема была только с беспроводными наушниками и только в этом приложении. И я даже не удивился, потому что в MIUI или даже в моей версии прошивки использование рабочего профиля напоминает игру "Сапер" 💣
Так, в шторке отсутствует кнопка включения и отключения рабочих приложений. Как я узнал недавно и случайно, для ее появления нужно включить второе пространство (потом можно отключить). Но куда хуже, что приложения Office 365 падают, стоит выделить текст в поле ввода. Разумеется весь набранный текст теряется 😡 И я вам скажу, что очень трудно отучить себя от привычки выделять текст!
Поэтому столкнувшись с проблемой наушников, я лишь пожал плечами и даже не стал разбираться в этом. Просто перешел на проводные для совещаний, тем более в них качество звука даже получше. Но недавно в чате мы обсуждали наушники Bluetooth, и Хартля вскользь упомянула, что у неё была такая же проблема с Zoom. И оказалось, что корень наших проблем одинаковый!
👉 Для работы беспроводной гарнитуры в Teams и Zoom приложениям нужно разрешение "Устройства поблизости" (Nearby devices). В картинках https://dzen.ru/a/ZdB_TNHxawyWtfWZ. Однако Android отбирает разрешения у редко используемых приложений. Соответственно, теряется это разрешение!
Поэтому, если долго не пользоваться приложением, наушники просто молча перестают работать 🤦♂️ Вообще, я пользовался Teams регулярно. Но, как недавно выяснилось, обновление MIUI (до HyperOS) тоже сбросило разшения! Вот и еще одна скрытая причина.
Отключить удаление разрешений можно только у каждого приложения индивидуально, см. на первой картинке по той же ссылке ↑ Причем эти приложения сами разрешение не запрашивают, в отличие от доступа к камере, например. Хотя API позволяет это делать.
Примечательно, что когда я для эксперимента сам отобрал у Teams разрешение Nearby devices, наушники не перестали работать в нем 🤔 Возможно, это разрешение требуется лишь однократно, чтобы обнаружить и запомнить устройство Bluetooth.
Наконец, судя по всему, проблеме подвержены только приложения, где беспроводные наушники используются в качестве гарнитуры - Teams, Zoom. В любом случае нестыковка абсолютно коллекционная! 🙄
⚙️ Автоматизация этапа установки OOBE
Сегодня одним выстрелом убиваем двух зайцев:
1. Ускоряем и упрощаем настройку новых компьютеров
2. На любых ПК обходим требование ученой записи Microsoft
Прочитав об экранах OOBE в Windows 11 24H2, товарищ Shirixae
принес в личку свои трудности с процессом установки 🤯
По работе ему регулярно приезжают новые ноутбуки, которые нужно настраивать и отдавать пользователям. Учетные записи Microsoft (MSA) им не нужны, поэтому требуется создавать локальный аккаунт. Первый шаг - всегда BypassNRO и перезагрузка. Дальше все экраны этапа OOBE, пусть у локального аккаунта их и поменьше чем у MSA
При этом чистая установка исключена по условиям задачи - ноутбуки должны быть в оригинальной комплектации, включая ОС. Продвинутых средств развертывания типа автопилота нет. Получается скучная и не интеллектуальная работа.
👉 Решение: запуск sysprep
с указанием на файл ответов и перезагрузкой в OOBE!
Утилита sysprep
входит в состав Windows и служит для подготовки образа к развертыванию. Она фигурировала в статье про создание настроенного образа системы. Там выполнялась операция обобщения образа, но здесь она не нужна.
📃 Задача решается в два шага:
1. Скопируйте в корень флешки файл ответов с именем UnattendOOBE.xml
, например.
2. На первом же экране OOBE (выбор региона) нажмите Shift+F10
, щелкните окно командной строки и введите команду:"C:\Windows\System32\Sysprep\sysprep.exe" /reboot /oobe /unattend:D:\UnattendOOBE.xml
Здесь C
- буква тома с Windows, D
- буква флешки. Во время установки определиться с буквами дисков можно с помощью diskpart
- lis vol
или блокнота.
Система перезагрузится и выполнит установку уже с учетом ваших параметров в файле ответов ✅
Чтобы не вводить длинную команду вручную каждый раз, рядом с файлом ответов создайте oobe.cmd
с таким содержимым:powershell -command "(Get-Volume).DriveLetter | Foreach-Object {if (Test-Path "${PSItem}:\UnattendOOBE.xml") {&"$pwd\Sysprep\sysprep.exe /reboot /oobe /unattend:$(${PSItem}):\UnattendOOBE.xml"}}"
Тогда достаточно выполнить в консоли: D:\oobe.cmd
.
Строго говоря, для этой задачи из моего файла ответов нужен только проход oobeSystem
. Но удалять раздел windowsPE
необязательно, он уже ни на что не повлияет.
👤 Если раскомментировать в моем файле ответов пароль учетной записи Admin
и однократный автологон, этап OOBE автоматизируется полностью. Именно так можно создавать локальную учетную запись, обходя требование аккаунта Microsoft. Причем в связи с новыми препонами в 24H2 ценность файла ответов лишь возросла.
Просто и эффективно! ✌️