sterkin_ru | Блоги

Telegram-канал sterkin_ru - Windows 11, 10, etc - Вадим Стеркин

14409

Авторский канал. Windows, безопасность, мобильный мир: • тайное знание • профессиональный ликбез • гадание по логам • срыв покровов • доставка пруфов Чат: @winsiders Блог: outsidethebox.ms Oбратная связь: @vsterkin Поддержать ₽: boosty.to/sterkin

Подписаться на канал

Windows 11, 10, etc - Вадим Стеркин

😎 Знакомая прислала скриншот веб-редактора аудиофайлов

- какую кнопку нажать, чтобы выйти из этого режима?
- Esc
- сын то же самое сказал, не срабатывает... очень много работы сделала(((
- в смысле боишься потерять?
- да, уже было такое
- перетащи туда файл
- я никогда так не делала
- повод попробовать :)
- ура!!!

Я уже вижу, как вы прониклись чувством превосходства над неопытным пользователем :) Но в этой истории есть отличная мораль. В любой непонятной ситуации следуйте указаниям на экране! А внимательно читать и анализировать написанное - это высший пилотаж ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🕒 Как получить сведения о запланированном задании в PowerShell

Смотрел тут свои старые скрипты, решил поделиться. Задача несложная, однако в зависимости от цели может понадобиться три разных запроса.

1️⃣ Состояние задания - Get-ScheduledTask

Годится запрос по имени задания, в том числе неполному. Заодно выведем чуть больше инфо - полное имя, состояние, адрес.

Get-ScheduledTask -TaskName '*sync*lang*' | fl TaskName,State,URI

TaskName : Synchronize Language Settings
State : Ready
URI : \Microsoft\Windows\International\Synchronize Language Settings


Задание синхронизации языковых настроек включено.

2️⃣ Сведения о последним запуске задания - Get-ScheduledTaskInfo

Здесь наряду с именем задания требуется еще и путь в -TaskPath. Либо в качестве имени указывайте URI из запроса выше.

Get-ScheduledTaskInfo -TaskName '\Microsoft\Windows\International\Synchronize Language Settings

LastRunTime : 1/25/2025 10:22:22
LastTaskResult : 0
NextRunTime :
NumberOfMissedRuns : 0
TaskName : \Microsoft\Windows\International\Synchronize Language Settings


LastTaskResult выводит код завершения предыдущего запуска. 0 означает успех, 1 - неудачу, остальное надо смотреть по коду.

⏩ На практике задачи 1 и 2 чаще объединяются в конвейер. Причем можно сходу фильтровать по неполным именам нескольких заданий, обходясь без Where-Object.

Get-ScheduledTask -TaskName *backup*,*sync* | Get-ScheduledTaskInfo | fl TaskName,LastRunTime


3️⃣ Параметры задания - Export-ScheduledTask

Export-ScheduledTask -TaskName '\Microsoft\Windows\International\Synchronize Language Settings'


Выводится XML, как в экспорте задания из планировщика. PowerShell легко перемещается по узлам.

[xml]$task = Export-ScheduledTask -TaskName '\Microsoft\Windows\International\Synchronize Language Settings'
$task.Task.Triggers.LogonTrigger.Delay

PT30S


Задание отложено на 30 секунд после входа в систему.

////

Создание запланированного задания в #PowerShell будет посложнее. Я показывал это в блоге, в том числе в сравнении с утилитой schtasks. Бывает проще импортировать подготовленный XML. Пример уже был на канале ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🔁 Новое в блоге: Нюансы восстановления параметров и приложений из современного бэкапа Windows

Мой товарищ устанавливал систему на новенький Surface, и его заинтриговала возможность восстановить настройки и файлы со старого ПК уже в процессе установки. Правда, не прошло и полчаса, как его постигло жестокое разочарование. В системе не оказалось и половины ожидаемых настроек! 😡

Эта история побудила меня вернуться к теме современного резервного копирования и восстановления в Windows. Я поднял ее осенью 2023 года разбором приложения Windows Backup, но не касался восстановления. Теперь настал и его черед.

К сожалению, похвастаться там особо нечем 🤷‍♂️ Современное резервное копирование и восстановление в Windows – это фактически обертка, в которую завернут старый, хорошо обсосанный леденец.

➡️ Читайте в блоге, как я пришел к такому выводу: https://www.outsidethebox.ms/22565/

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

💩 Тревога В действии

Здесь на панели задач сошлись все звезды:
• #автоперевод Warning in effect
коричневый оранжевый уровень опасности
• пиктограмма ветра (а не то что вы подумали :)

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🤖 Об управлении уведомлениями Android для гиков

Думаю, вы видели у "обычных людей" ад уведомлений в шторке. Некоторым моим контактам бесполезно писать в Telegram в расчёте на быстрый ответ, потому что сообщение будет погребёно под уведомлениями десятков каналов.

⚙️ У меня, напротив, весьма специфический подход к управлению уведомлениями.

🔹 Сразу после установки приложения или его первого уведомления я отключаю все ненужные каналы.

🔹 Все важные уведомления идут на часы Amazfit Bip. A там с помощью приложения AmazFit Tools настроены разные шаблоны вибрации и отображения сообщений. Вплоть до регулярного выражения на смс/пуш банка, чтобы показывало только код подтверждения.

🔇 В результате у меня полностью отключены звуковые уведомления в телефоне. Только при звонке он вибрирует, что практически не слышно. Такой расклад повышает зависимость от часов, и у меня есть автоматизации для режима "Не беспокоить" (DND).

1. При выходе из DND часы должны чётко устанавливать соединение с телефоном.

2. Нужно предусмотреть сценарий, чтобы близкие люди могли дозвониться ночью. Разумеется, в телефоне есть приоритетный режим для избранных контактов. Но он бесполезен при полностью отключённых звуках и тихой вибрации / глубоком сне.

С первым пунктом в MIUI исторически было нестабильно. Поэтому я давно создал скрипт Tasker, который при выходе из DND запускает MiFit / Zepp и AmazFit Tools. Однако с обновлением до HyperOS это фактически перестало работать. Пришлось плясать с бубном, добавляя передёргивание Bluetooth, включение дисплея и форсирование подключения в Amazfit Tools посредством их родного плагина 🙄

С ночными же звонками всё "просто". В том же Tasker задано условие: если пропущен звонок от избранного контакта, запускай скрипт↑ И по второму звонку уже будут вибрировать часы.

Морали тут особой нет. Но есть возможности. И костыли, конечно, куда ж без них 🩼🩼 Эта тема первой пришла мне в голову, когда давеча мой друг спросил, что бы мне помешало перейти на iPhone. Впрочем, ему я рассказывать такое не стал - это же для гиков 😎

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

Спасибо, что читаете мой канал 👍 С наступающим Новым годом! 🎄 Продолжим в следующем году ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

Мало разработать хороший продукт — важно защитить его от кибератак

Регуляторы требуют повышения киберустойчивости ПО, так что навыки информационной безопасности — маст хэв для развития карьеры в разработке. Получить их можно на совместном курсе ВШЭ и Нетологии «DevSecOps: практика безопасной разработки» За 5 месяцев вы научитесь:

🛡Понимать принципы безопасной разработки, внедрять подходы SSDLC, DevSecOps.
🛡Моделировать угрозы и оценивать риски.
🛡Применять в работе инструменты безопасности — GitLab CI и ArgoCD.
🛡Разбираться в нормативных требованиях и стандартах: ISO, NIST, OWASP и других.

Вы сможете выстраивать защиту от угроз на всех этапах и получите диплом ВШЭ. Для обучения понадобятся базовые знания Linux и Python, на старте вам предложат тест и, при необходимости, выравнивающий модуль.

Используйте промокод DEVSECOPSHSE на скидку 10 000 рублей до 30 декабря ➡️ https://netolo.gy/dLXb

Реклама. ООО "Нетология". ИНН 7726464125 Erid 2SDnjcLV22w

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⚙️ О зачистке Windows от хвостов приложений

У меня на нескольких системах было установлено приложение VMWare Horizon для удаленного доступа к ВМ заказчика. Тот перешел на Windows 365, поэтому я штатно удалил клиент VMWare из всех ОС и забыл про него.

А спустя несколько месяцев случайно увидел запущенные службы VMWare. На одном компьютере их было три, а на другом аж пять 🤦‍♂️ Что ж, надо зачистить!

Я исторически не доверяю приложениям типа Revo Uninstaller ❌ Они в принципе не могут знать о программе больше, чем ее штатный установщик. А выполняя удаление по косвенным признакам, они могут зацепить что-то важное, о чем я знать не буду.

👉 В таких ситуациях я предпочитаю действовать руками. И первой отправной точкой всегда должен быть раздел реестра:

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

Я не помню путь наизусть, поэтому всегда гуглю uninstall windows registry и попадаю в KB247501. В этом разделе содержатся сведения обо всех установленных программах. Отсюда подтягивают данные классический апплет appwiz.cpl и раздел Параметров с установленными приложениями.

У большинства подразделов в качестве имени используется GUID, но принадлежность к программе несложно определить визуально. Также можно сделать выборку скриптом #PowerShell за авторством ChatGPT.

Важны эти параметры:
DisplayName - название программы
UninstallString - команда для удаления

У VMWare Horizon в качестве инсталлятора используется Windows Installer. Поэтому для удаления вызывается msiexec с ключом /x, которому передается ИД программы в базе установщика Windows:

MsiExec.exe /X{2B1D0F22-6025-409A-A248-7C10783FD5F2}

После выполнения всех команд из системы удалились службы и оставшиеся папки приложения Horizon✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

📢 О важности обновления Windows в процессе установки и роли пользователя defaultuser0

После выхода поста о длительности установки обновлений пара человек попеняли мне в личке, что я учу читателей нехорошему - как пропустить установку обновлений безопасности! Один вроде и в шутку, но...

Я пообещал ответить в канале, и вот мои тезисы. Первые три я упоминал в исходном посте.

🔹 Файл ответов поддерживается. Пропуск обновлений с ним - решение Microsoft. (Метод BypassNRO если и поддерживается, то лишь для полностью оффлайн установки).

🔹 Если вы всерьез озабочены безопасностью, вам следует интегрировать динамические обновления в дистрибутив, нежели полагаться на обновление в процессе установки.

🔹 Опытным пользователям следует всегда брать свежий образ MSDN, поскольку он отстает максимум на последнее накопительное обновление (LCU).

🔹 Разница в безопасности между стандартным процессом и установкой свежего образа MSDN с пропуском обновления будет маргинальной. При условии, что сразу после установки вы скачаете и установите все обновления (автоматически это происходит в течение нескольких часов). А пока они устанавливаются, не будете делать глупостей.

👉 Форсирование обновлений до первого входа в систему - это в немалой степени защита от дурака!

Остановлюсь подробнее на последнем тезисе.

ℹ️ В процессе установки на этапе OOBE у вас система уже полностью установлена и подключена к интернету. Она работает в стандартном режиме. Единственное отличие - обычный пользователь может взаимодействовать лишь с экранами OOBE.

А если пользователь не совсем обычный? Давайте посмотрим, что можно сделать. Shift+F10 запускает командную строку. Тут уже можно много чего наворотить!

🔸 Команда whoami покажет, что вы пользователь defaultuser0. А whoami /groups, что у вас есть права админа. В контексте этого временного пользователя вы проходите все экраны OOBE, пока сами не войдете систему впервые. Затем он удаляется вместе с профилем.

🔸 От имени defaultuser0 вы уже сейчас можете настраивать любые системные параметры, вместо того чтобы играть в Surf 🏄 И необязательно из консоли. Наберите в ней regedit и твикайте HKLM сколько угодно. Введите control - и вот вам в одном флаконе проводник и классическая панель управления, откуда перейти в Параметры проще простого.

🔸 Хотите полазить по Интернету и что-нибудь скачать? Запустите Edge по веб-ссылке в Параметрах или из проводника / консоли:
"c:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

Список можно продолжать, но расклад понятен. Портьеры OOBE не ограждают от стрельбы в ногу!

////

☑️ Резюме

Форсирование установки обновлений на этапе OOBE - это правильное решение в масштабах экосистемы Windows. Однако оно значительно замедляет установку, что создает неудобства опытным пользователям в ряде сценариев.

Мне это мешает исследовать ОС и проверять работу различных ее аспектов. Отсутствие LCU на виртуальной машине, с которой я снесу систему через час или день после установки, меня не беспокоит.

Варианты пропуска установки обновлений - это не вредные советы, а информация для принятия взвешенного решения. Моим подписчикам оно по плечу ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⚙️ Ускоренная диагностика методом половинного деления

В чате Sergey Kovalev попросил помочь продиагностировать проблему при установке своей сборки Windows Server. У него самописный скрипт берёт оригинальный образ Windows Server 2022 21H2 и интегрирует в него накопительные обновления ОС и .NET Framework, минимальный набор драйверов, а также скрипты для настройки системы.

Все это работало как часы по апрель включительно, а потом сломалось. На этапе установки WindowsPE во время применения WIM-образа к диску выводится ошибка 0x80070570. Она означает:

The file or directory is corrupted and unreadable.

Гугление по коду ошибки выдаст тонну сеошных и тупиковых советов, поэтому ходить туда бесполезно. Я сходу предложил покурить логи установки, и Сергей довольно быстро определил проблемный файл.

Его расположение в папке NativeImages_v4.0.30319_64 намекало на .NET, поэтому я предложил исключить интеграцию накопительного обновления .NET Framework. Вообще, Microsoft рекомендует обновлять дистрибутив динамическими обновлениями, а .NET туда не входит. Строго говоря, потому что не считается частью операционной системы, но тем не менее.

Сергей продолжил исследования и выяснил, что файл входит в состав дистрибутива изначально и не заменяется накопительными обновлениями. Наверное, после этого он быстро догадался о причине проблемы.

👉 Битый оригинальный образ! Контрольная сумма не совпадала с оригиналом. Предположительно, образ побился при перемещении из одного облака в другое, хотя его размер в байтах остался прежним.

В итоге в скрипт добавился шаг для проверки контрольной суммы :)

////

🤔 А где же тут половинное деление?

Я неоднократно показывал этот подход для диагностики проблем с работающей операционной системой (раз, два, три, четыре). Там вы загружаетесь в безопасный режим, исключая влияние сторонних программ, служб и драйверов.

✅ В общем случае первый шаг половинного деления - это создание как можно более чистой диагностической среды, не загрязненной внешними факторами.

Применительно к обсуждаемой ошибке, относительно чистая среда - это тестовая установка с оригинального дистрибутива без всяких изменений. Для диагностики достаточно было пройти этап WindowsPE. И это моментально сделало бы главным подозреваемым исходный образ, нежели его многочисленные модификации.

При этом не менее важно создать чистую среду в голове - абстрагироваться от лишних факторов и посмотреть на проблему с нуля. Я не так давно на разбирал ментальные помехи диагностике на своем примере. В том числе упоминал знание, что "ничего не делал". В данном случае Сергею мешало знание, что он ничего не менял в своей рутине.

В итоге можно было не гуглить и не курить логи. Вот вам и ускоренная диагностика! ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

😎 Как открыть "Мой компьютер" двойным щелчком по ярлыку

Что? Да :) Вопрос задал в чате Андрей Третьяков. Компьютер уже не "мой", а "этот". И ярлык уже по дефолту скрыт с рабочего стола (включается в Win+R - desk.cpl ,5). И все же...

Андрей заметил, что в Windows 11 не всегда открывается новое окно со списком дисков и устройств. Иногда на передний план выходит имеющееся окно проводника с последней активной вкладкой.

Я потыкал и определил, что такое поведение наблюдается, когда этот компьютер уже открыт в одной из вкладок! Убрав значок с рабочего стола, девелоперы забыли про него. С глаз долой - из сердца вон! 🤦‍♂️

Сочетание клавиш Win+E работало четко, но Андрею хотелось бы мышью. Что ж, есть пара вариантов.

🟡 Долго и неудобно: ПКМ на значке компьютера - Показать дополнительные параметры - Открыть в новом процессе. Можно сразу открывать старое меню с Shift+ПКМ, но это уже с клавиатурой.

🟢 Быстро и просто: создать новый ярлык с командой:
explorer shell:MyComputerFolder

#Классика блога про папки shell в помощь.

////

Проблема воспроизводилась в чистой установке Windows 11 24H2, но у меня ушла с ноябрьским обновлением 26100.2314. Хотя у Андрея все еще наблюдалась в декабрьском превью 26100.2454.

👉 Так или иначе, вопрос решает explorer.exe. И он регулярно приходит на выручку, когда сталкиваешься с ограничениями графического интерфейса!

Пруфы в канале:
Как закрепить произвольный файл в меню Пуск
Как добавить ярлык интернета в Пуск
Закрепляемый ярлык на любой элемент Параметров
Как создать ярлык на магазинное приложение на панели файлового менеджера
Как открыть конкретный файл в приложении, отличном от приложения по умолчанию

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

Сегодня у меня для вас #рекомендация — два полезных канала для системных администраторов:

🔐 infosec — литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.

👨‍💻 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⚙️ Новое в блоге: Автоматизация этапа установки OOBE одной командой

Во время установки Windows всю пользовательскую настройку можно пройти одной командой. Тем самым:

1. Ускоряется установка Windows и настройка новых компьютеров
2. Снимается требование использовать учётную запись Microsoft

Ранее я показывал в канале решение - запуск sysprep с указанием на файл ответов, размещённый на флешке.

Alexandr Petnitsky немедленно спросил в чате, можно ли загрузить файл ответов из интернета, тем самым обходясь без флешки. В качестве примера он привёл очень короткую и легко запоминающуюся команду для активации Windows с помощью пиратского KMS-сервера :)

💡Нет проблем! На первом же экране OOBE (выбор региона) нажмите Shift+F10, щёлкните окно командной строки и введите команду:

powershell -c "irm https://bit.ly/oobe-demo | iex"

В минутном ролике показаны все этапы процесса, который занимает 4-5 минут. В блоге я объясняю, как это работает и как настроить решение под себя в два счёта!

➡️ https://www.outsidethebox.ms/22491/#internet

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🤷‍♂️ Владельцы локализованных Windows должны страдать ©

Я время от времени доставляю пруфы к этому тезису в канале. Очередное доказательство прислал подписчик Дмитрий.

На фото управление дисками в программе установки русской Windows 11 24H2. Здесь перепутаны термины "раздел" и "диск"! Так можно и опытного человека с ума свести 🤦‍♂️

Вместо Раздел 0 диска 1 должно быть Диск 0 Раздел 1. Без выкрутасов, как в английской ОС. На худой конец - Раздел 1 диска 0, если уж дурная голова рукам покоя не дает.

Трудно сказать, человеческий это труд или #автоперевод под соусом ИИ. Больше похоже на второе. В любом случае создатели программы установки не тестировали локализацию. Иначе заметили бы не переведенные с английского кнопки над списком дисков ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

😎 Как английский интерфейс, так у них язык - это Language, а как русский - почему-то сразу Неприличная лексика!

На картинке странный #автоперевод в настройках виджетов, откуда ссылка ведёт в языковой раздел параметров системы. Спасибо подписчику Nirai Charged Pulse.

Но даже без этого "доска мини-приложений" режет глаз и слух. В оригинале - "widget board". Почему бы не "панель виджетов"? 🤔 На мой вкус так благозвучнее! И слово "виджет" есть в самом большом русском орфографическом словаре!

Да, слово "board" не переводится как "панель", но "dashboard" в официальной терминологии - это "панель мониторинга". Чем подборка виджетов фактически и является, если избавиться от технического привкуса "мониторинга"✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🧹 Удаление временных файлов из служебных профилей

Недавно я анализировал недостаток дискового пространства на одной системе. Помимо прочего утилита dfp выдала такое:

1.6G      527      191 C:\Windows\ServiceProfiles
1.6G 287 81 C:\Windows\ServiceProfiles\NetworkService
1.6G 281 71 C:\Windows\ServiceProfiles\NetworkService\AppData
1.6G 244 39 C:\Windows\ServiceProfiles\NetworkService\AppData\Local
1.6G 243 34 C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp


Я натравил её на папку Temp и выяснил, что 1.6 GB занято древней папкой с именем типа E58DAD6F-63DE-461C-AB9F-7F58DDC916D9

ℹ️ NetworkService и LocalService - служебные аккаунты, чьи профили хранятся в папке Windows. Их содержимое аналогично профилям интерактивных пользователей из папки C:\Users.

Удаление временных файлов безвредно, причем ухищрений не требуется. В смысле не надо ломиться в системные папки как лось, меняя на ходу разрешения NTFS. Просто в #PowerShell от имени администратора:

Remove-Item -Force -Recurse -Path 'C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\E58D*'


Total Commander или FАR от админа тоже годятся ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🙏 Мой блог https://www.outsidethebox.ms/ снова доступен. И вы можете прочесть свежую статью из утреннего анонса↑

Спасибо всем, кто сообщал о проблеме и благодарил за труды. Иногда, надо ощутить нехватку чего-либо, чтобы осознать ценность :)

Технически же от меня там ничего не зависело. Но на другом хостинге именно такого скорее всего не произошло бы. Я давно обдумываю переезд, но все никак не могу решиться. Может быть в этом году ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🙄 О нововведениях в современной Windows

Много лет назад в Windows Vista переосмыслили работу обычным пользователем. Тогда появился контроль учётных записей (UAC). Причём было только две опции — уведомлять всегда или никогда. Включение порождало слишком много уведомлений, и люди громко жаловались. Поэтому в Windows 7 сделали поменьше уведомлений для администраторов.

⚙️ С другой стороны, обычным пользователям стал доступен ряд настроек, для которых в Windows XP были необходимы права администратора. Например, добавление принтеров, управление электропитанием и настройка часового пояса (но не времени). Последнее регулярно пиарили на разных конференциях — посмотрите, как стало удобно!

Я вспомнил об этом, просматривая описание предварительного февральского обновления для Windows 11 24H2 — KB5050094. Моё внимание привлекло нововведение в Параметрах:

[Settings] New! You can change time zones in Settings > Time & Language > Date & Time. You don’t have to be an admin to make this change.

Ура, теперь не надо быть админом, чтобы менять часовой пояс! Но ведь у нас это было почти 20 лет назад 🤦‍♂️ Впрочем, я не знаю, как давно они сломали.

По состоянию на январь 2024 года проблема воспроизводилась в Windows 10 22H2 и Windows 11 23H2 & 24H2. В Windows 8.1 обычный пользователь может задавать часовой пояс без проблем, но там ещё нет опции автоматического выбора. Замечу, что в актуальных ОС для включения автоматики нужно в настройках конфиденциальности разрешить десктопным программам доступ к местоположению.

////

Вообще, разработчики Windows в последнее время взяли моду выдавать устранённые баги UX за нововведения 😡 Например, под таким же соусом подали исправленное перетаскивание в адресную строку Проводника спустя 9 месяцев после поломки.

Разумеется, они не считают это дефектами, если фича подвергается переработке и получает какие-то другие улучшения. Хорошо, если они понимают деградацию пользовательского опыта и сразу планируют исправление в обозримом будущем, как в случае с адресной строкой.

Но так бывает не всегда. Размещение панели задач сбоку, выпиленное из Windows 11 фактически ради дизайна, до сих пор не вернули. И сломанная смена часового пояса могла у них в бэклоге годами лежать — обычным пользователям слова не давали! Пока кто-то не решил поднять себе KPI выпуском "новой" фичи. И вот, встречайте 🎉

Внимательные читатели заметят на картинке ещё одну новую старую фичу. Но по крайней мере создание папки не выпиливали из классического контекстного меню, которое до сих пор доступно.

Через пару дней я продолжу тему таких нововведений в Windows записью блога. Не переключайте каналы✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⚙️ О параметрах программы установки Windows (setup.exe)

Недавно в форуме я увидел ошибочное утверждение, что setup.exe предназначен исключительно для установки из-под живой системы, нежели из-под Windows PE. Его автор развертывает ОС применением WIM-образа к диску, что могло повлиять на восприятие :)

Да, переустановка поверх запускается только из-под работающей Windows. Но это не единственный способ вызова программы установки!

ℹ️ Первый проход установки ОС не случайно называется windowsPE. Когда вы загружаетесь с флешки или ISO, диспетчер загрузки обращается к boot.wim. А там как раз Windows PE, которая целиком загружается в оперативную память. Поэтому setup.exe запускается именно из PE, хотя и без параметров, что видно на картинке.

👉 Читайте также: Нюансы программы установки Windows.

Однако дистрибутив может лежать на внешнем или сетевом диске. Это повод загрузиться в среду PE (чистую или условного Стрельца) и запустить setup.exe с нужными параметрами. И у Microsoft есть большой документ, описывающий ключи командной строки программы установки: Windows Setup Command-Line Options 📄

В описании каждого ключа имеется раздел Applicability с таблицей, где в первой строке "Setup.exe started from WinPE - Yes/No". То есть, работает ли этот ключ при запуске из PE.

Кстати, начиная с версии 24H2 в PE поддерживаются еще 9 ключей. В том числе:
/CompactOS для сжатия системных файлов.
/PostOOBE, задающий расположение setupcomplete.cmd, который иначе надо добавлять в образ напрямую или с помощью OEM-папок
/ConfigFile, указывающий на INI-файл с ключами (однако над ними преобладают ключи, переданные в командной строке)

Вообще, документация по установке Windows очень приличная и в целом поддерживается в актуальном состоянии. Да и у меня в блоге немало статей с меткой автоустановка. Приятного чтения! ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⌨️ Как свернуть активное окно сочетанием клавиш

Вопрос в форуме был с подтекстом - сворачивание надо повесить на макрос мыши в фирменном ПО. Поэтому также подошел бы исполняемый файл - утилита или скрипт.

Автор вопроса сразу сказал, что сочетание Win+↓ не подходит. Мол, когда окно развернуто во весь экран, придется нажимать дважды (уменьшить размер, свернуть). Для макроса это не проблема, кстати. Однако потом надо руками восстанавливать полный размер окна - Win+↑.

🎹 В качестве сочетания предложили Alt+Space N. Но это с английской раскладкой, а с русской - Alt+Space С. На практике бесполезно. Одна из бесящих фич Windows 😡

⚙️ Из утилит посоветовали клавиатурного шпиона aka Punto Switcher и загрузили самопальный экзешник в RAR с предупреждением о ложном срабатывании антивируса 🙄

ТС был счастлив, разумеется. Но я б не стал... Лучше уж попросить ChatGPT написать скрипт Python, AutoIt или чего душа пожелает. Это же не кирпичи таскать :)

Но не факт, что автор вопроса хотел именно свернуть окно. Может, он просто желал убрать его с переднего плана и не представлял себе другого способа. А он есть в Windows испокон веков!

👉 В Windows порядок окон определяет Z-order. Первым в нем идет текущее активное окно. Древнее сочетание Alt+Esc отправляет активное в конец списка. Оно не сворачивается, но может стать невидимым, если полностью перекрыто другими окнами - достаточно одного во весь экран.

Следующее окно в списке становится первым. Пока окно активно, обратное сочетание Alt+Shift+Esc возвращает его в начало списка, однако не разворачивает свернутое.

Если вы последовательно нажмете эти сочетания, будет похоже на два подряд нажатия Alt+Tab. Когда-то в этом диалоге окна отображались именно в порядке Z-order, исходя из поста Раймонда Чена двадцатилетней давности. Но сейчас после Alt+Esc окно перемещается на вторую позицию в Alt+Tab, нежели в конец.

////

В форуме я не получил отзыва ТС на свое предложение. Отреагировал лишь другой участник: "оно же не сворачивает ахаха". Однако спустя пару недель в чате точно такой же вопрос задал Андрей Шубин. И как выяснилось, он просто хотел убирать окно, нежели именно сворачивать его!

Сочетание Alt+Esc Андрея устраивало, если бы не маленькая клавиша Esc. Но это мелочь - с помощью PowerToys можно переназначать отдельные клавиши и сочетания.

Think outside the box ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🎄 Встречайте Новый 1ТП18Т!

У Microsoft очередной зачетный #автоперевод (спасибо, Дмитрий). Мы уже обсудили в чате варианты расшифровки этой аббревиатуры, но я не рискну публиковать их в канале 😎

Пусть это будет Новый год! 🎅 С наступающим вас! Пожелание тоже на картинке - "учить больше"! ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🔒 KeePass: автоматический ввод в окна без заголовка и трёхэтапный вход

Это четвёртый пост серии про #autotype в KeePass. И сегодня я покажу очень простой приём.

По работе мне регулярно приходится выполнять вход с учётной записью Microsoft 365 в клиент Remote Desktop и офисные приложения. Для аутентификации всплывает отдельное небольшое окно без заголовка. Поэтому непонятно, что прописать в KeePass в качестве заголовка окна.

👉 Ничего! Надо добавить запись для автоматического ввода, оставив заголовок пустым.

Наверное, кому-то это было сразу очевидно. Но я дошёл до решения сам экспериментальным путём :)

▶️ Заодно приведу последовательность автоматического ввода для трёхэтапного процесса аутентификации в Microsoft 365: имя учётной записи -> пароль -> второй фактор аутентификации.

{UserName}{ENTER}{DELAY 5000}{PASSWORD}{ENTER}{DELAY 5000}{TAB}{ENTER}{DELAY 1000}{TAB}{ENTER}{DELAY 2000}{TIMEOTP}{ENTER}

Сначала всё просто - после ввода аккаунта даём 5 секунд на отображение следующего окна, так же и с паролем. На этапе #2FA по умолчанию предлагается ввести двузначное число из Microsoft Authenticator. Однако резервный вариант с вводом шестизначного одноразового кода (OTP) тоже доступен. А его умеет вводить KeePass, о чём был рассказ в канале!

🔓 Хранение пароля и секретного ключа в одной базе - не лучшая идея. Но моя ОС развёрнута в защищённой корпоративной среде, поэтому я считаю это допустимым компромиссом ради личного комфорта.

Вообще, разделение имени пользователя и пароля на разные этапы входа стало очень популярно в последние годы. Так делают Microsoft, Google и многие другие компании. Но после ввода учётной записи реализация этапов отличается. Поэтому последовательность действий надо адаптировать под каждый сервис ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🌐 О хостинге и VPS в 2025 году

Исходя из опроса в канале, половина подписчиков пользуется VPS, а ещё 28% ощущают необходимость в личном сервере или задумываются о нем. И у меня для вас хорошая новость!

🎄Новогоднее колесо фортуны в Serverspace 🎁

Испытайте удачу и получите 1 ГОД БЕСПЛАТНОГО ХОСТИНГА в Serverspace или другие бонусы на облачную инфраструктуру ⛅️

🔹Удобная панель управления
🔸Процессоры Intel Xeon Gold
🔹ЦОДы на 4 континентах
🔸Высокий uptime
🔹Поддержка 24/7

Как стать участником акции:
1. Крутите колесо по ссылке
2. Получите письмо с подарком

*Важно: акция только для новых пользователей. Подробную информацию об условиях акции можно найти тут 📣

Serverspace - международный облачный провайдер, предлагающий автоматическое развертывание виртуальной инфраструктуры на базе Windows, Linux и российских ОС из любой точки мира менее чем за 1 минуту. Erid

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

😎 Microsoft приучает к бэкапу

На видео Windows 11 24H2 сразу после чистой установки с помощью файла ответов. Если в Параметрах переключаться на учетную запись Microsoft (MSA), при нажатии кнопки входа открывается приложение Windows Backup 🤷‍♂️

Кнопок входа в окне две, но результат одинаковый. Впрочем, повторное нажатие открывает правильный диалог аутентификации. И без файла ответов все работает правильно.

Видимо, это связано с тем, что при использовании моего файла ответов полностью пропускается этап OOBE. Но это не объясняет, почему появляется именно приложение для резервного копирования 🤔 Видимо, этот сценарий не тестировали, поскольку MSA уже стала частью системных требований.

Я разбирал приложение Windows Backup в блоге около года назад, но только в контексте создания резервных копий. Обратная сторона медали - восстановление, о чем я планирую пост в блоге в начале следующего года. Не переключайте каналы ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

💰 О фрилансе и зарубежных заказчиках

У меня был достаточно длительный опыт взаимодействия с иностранным юрлицом: ИП, валютный контроль, онлайн-бухгалтерия, налоги - вот это все.  Не так уж сложно, когда разберешься, но поначалу много вопросов. Их стало еще больше с 2022 года, по мере применения различных санкций к финансовой системе.

🤔 Теперь для такой работы требуется посредник. Но это должна быть не какая-то условная "прокладка". Нужен полноценный сервис, который связывает заказчиков с фрилансером и предоставляет тому набор сопутствующих услуг.

👉 Присмотритесь к Mellow - этот сервис снимает много вопросов:

🔹 Возможность выводить деньги на счёт ИП, банковскую карточку или электронный кошелек.
🔹 Прозрачные условия - только комиссия от суммы сделки: 5% при оплате клиента по счету или 7.5% при оплате по карте
🔹 Простая и быстрая оплата по инвойсу — заказчику не нужно регистрироваться в сервисе, при оплате картой деньги приходят моментально.
🔹 Безопасная сделка с резервированием средств на счету сервиса
🔹 Подробная документация (я всегда обращаю на это особое внимание)
🔹 Помощь с оформлением документов для налоговых органов, полный пакет: договор, счет и акт выполненных работ

✔️ Регистрируйтесь и получайте переводы из заграницы без проблем!

Реклама. Рекламодатель "FRWD Limited" erid: 2VtzqwvSkMu

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🤷‍♂️ О сложностях регрессионного тестирования

На этой неделе в топ Хабра взлетела статья Катастрофа в российской зоне проекта NTPPool.org. Кто-то заддосил все российские серверы точного времени. Спустя три дня Яндекс сорвал покровы - это была их умная колонка 🤦‍♂️

мы подготовили обновление прошивки для наших колонок, в котором изменения в смежных с NTP‑клиентом утилитах привели к сбою в его поведении. Как мы позднее выяснили, в коде была допущена ошибка, из‑за которой колонки начинали перезапрашивать время с NTP‑серверов каждые пять секунд вне зависимости от ответа, то есть игнорировали факт корректного получения времени. К сожалению, компонент был не полностью покрыт автотестами, поэтому на этапе тестирования ошибку мы не поймали.


Я прокомментировал это в чате, но решил закинуть в канал - меня читают тестировщики :)

Обывательски - ахаха, тестировать надо лучше! Но как? Тесты не могут покрыть всех сценариев. Да это и не было проблемой - все работало годами. Однако, если вы вносите изменения в смежные утилиты, компоненту нужно провести регрессионное тестирование. То есть написать новые тесты или подтянуть имеющиеся. Вот это и не было сделано. Но почему?

У такой ситуации две вероятные причины, и они вполне могут сочетаться.

1️⃣ QA не участвовало в обсуждении нововведений / изменений. Это печальная, но очень распространенная практика. Тестировщики просто получают фичу в процессе разработки или сразу по окончании.

С гибкими методологиями разработки им уже некогда думать про общую картину. Надо быстро протестировать фичу и выпускать релиз.

2️⃣ QA и Dev плохо пронализировали влияние изменений. QA должно активно интересоваться, на что это может повлиять. И дальше уже думать, как это лучше покрыть тестами, чтобы избежать регрессии.

Для этого нужен опытный тестировщик и грамотный разработчик / лид, который знает связи и зависимости компонента, а не только свои десять строчек кода и полтора юнит-теста.

////

👉 Из моего опыта качество программного продукта выше, когда QA включается на ранних этапах - начиная с планирования и формирования требований для разработки. И никакому Agile это не противоречит. Наоборот, тестировщики лучше подготовлены к сжатым срокам тестирования, когда работают в контакте с разработчиками и аналитиками на протяжении всего цикла разработки компонента.

Более того, инженеры QA с опытом на проекте отлично выступают в качестве аналитиков. И даже формально могут занимать такие роли. Например, когда модернизирется или заменяется махровое легаси. В этом случае документация разрознена, неактуальна или отсутствует. А инженер QA по тестам, багам и своей памяти может получить хорошее представление о компонентах. Это помогает сформировать приоритеты и эффективное покрытие тестами.

Тут еще важны явные связи между требованиями, тестами и дефектами, но это уже другая история ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🔐 BitLocker: o доступе к зашифрованным томам путем взлома пароля учетной записи

Прочитав мой FAQ по автоматическому шифрованию BitLocker, читатель Валерий не нашел ответа на свой вопрос:

Если злоумышленник получит физический доступ и взломает пароль учетной записи, получит ли он доступ к зашифрованным файлам?

Казалось бы, ответ очевиден. По умолчанию все тома расшифровываются при входе в систему. Поэтому для доступа к файлам достаточно знать пароль учетной записи.

Но есть нюанс © И не один!

1️⃣ Взломать пароль аккаунта не так уж просто

Пароль находится на зашифрованном диске. Загрузившись с условного диска Стрельца, вы не сможете воспользоваться утилитами для сброса пароля. Поэтому взламывать пароль на компьютере придется подбором.

2️⃣ Пароля может не быть в системе

Во время установки вы можете войти без пароля с имеющейся учетной записью Microsoft (MSA), либо создать для этого новую на смартфоне. И тогда в системе будет только ПИН-код. Я разбирал в блоге нюансы беспарольного входа в Windows.

3️⃣ Вход с паролем может быть отключен

Причем для аккаунтов Microsoft - это поведение по умолчанию! Во время установки после аутентификации в MSA вы обязаны создать ПИН-код. И дальше активны только способы входа Windows Hello (ПИН, биометрия). А вход с паролем для MSA отключен. Опять же, я рассматривал это в блоге в контексте автоматического входа.

////

Заметьте, что в двух пунктах из трех фигурирует учетная запись Microsoft, которая входит в системные требования клиентских Windows. Учитывая их и стандартное поведение ОС, теперь можно ответить на исходный вопрос.

👉 Если человек пользуется аккаунтом Microsoft и не ослабляет стандартную защиту, нет смысла говорить о взломе пароля. Даже если удастся подобрать пароль, с ним все равно не получится войти.

🔢 Однако можно обсуждать взлом ПИН-кода, в том числе методом подбора. Это тоже непростая задача. И держите в уме, что ПИН-код без MSA - только для удобства.

Хороший и правильный ПИН-код:
🔹 состоит не только из цифр, но также из букв в разном регистре и спецсимволов
🔹 защищен TPM, на основе которого построен механизм противодействия подбору

Наконец, оставлю здесь еще одну полезную ссылку о противостоянии атакам на шифрование: BitLocker countermeasures. Самый эффективный способ защиты - это отдельный сложный ПИН-код перед загрузкой ОС вкупе с TPM. Его можно укрепить, добавив третий предохранитель - ключ на флешке ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

🔐 Наглядно о разнице между двухэтапной и двухфакторной аутентификацией

Когда-то я сформулировал разницу в блоге так:

Двухфакторная аутентификация подразумевает создание одноразового пароля непосредственно на устройстве, которым вы обладаете (аппаратный токен или смартфон). Если OTP отправлен в SMS, аутентификация считается двухэтапной.

В комментариях было много несогласных, считавших SMS таким же вторым фактором. Спустя пару лет я возвращался к теме в контексте рекомендаций NIST. Но не столь принципиально, кто и где проводит границу. Важны сценарии компрометации, а также доступные нам способы аутентификации - выбор-то не всегда есть!

👀 На прошлой неделе на Хабре появилась интересная новость: Почтовые ящики «Яндекса» взломали через платформу рассылки SMS. У автора новости была настроена двухэтапная аутентификация: пароль + SMS. Злоумышленники перехватили SMS с одноразовым кодом на платформе для рассылок и вошли в аккаунт.

Однако у жертвы изначально была возможность выбрать другой способ аутентификации - у Яндекса есть и двухфакторная (2FA)! И в обоих ее вариантах↓ одноразовый пароль генерируется непосредственно на смартфоне. С такой настройкой взлом сторонней платформы SMS ничем не грозит!

🔑 Любопытно, что изначально в своем велосипеде 2FA Яндекс полностью отказался от стандартов и постоянного пароля - его заменил одноразовый. Однако теперь в способах входа есть и комбинированный вариант: постоянный пароль + одноразовый пароль якобы из Ключа. Но на самом деле подойдет любой аутентификатор!

Другими словами, вдобавок к велосипеду Яндекс реализовал второй вариант 2FA по общепринятым стандартам (RFC 6238). И внезапно стандартный вариант - самый надежный :) Ложка дегтя - не предусмотрены резервные коды 2FA 🤦‍♂️ Зато теперь я избавился от приложения Ключ, которое держал только ради Яндекс ID.

🔁 По умолчанию для восстановления доступа к аккаунту Яндекса служит привязанный номер телефона. Именно посредством SMS автор новости смог сбросить пароль, заданный злоумышленниками. Тут ему повезло, потому что враги контролировали подтверждения по SMS и, наверное, могли поменять и номер телефона. В настройках безопасности можно сменить способ восстановления аккаунта с номера телефона на анкету и фотографию паспорта.

✔️ Советы
• По возможности выбирайте 2FA, нежели код в SMS
• Храните в надежном месте резервные коды 2FA
• Делайте бэкап секретных ключей 2FA

Читайте другие посты канала по теме #2FA ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

⚙️ О длительности установки Windows

Недавно я тестировал ручную установку Windows 11 24H2 и заметил, что она занимает уж слишком много времени. Сначала всё стандартно - применение образа к диску и первая перезагрузка уложились в 10 минут. Но затем этап OOBE тянулся неприлично долго. На глаз видно, что львиную долю времени занимает установка обновлений!

👉 На обновления ушло 27 минут, при том что все интерактивные окна я пролетел за 2-3 минуты.

В документации говорится "до 30 минут". В итоге из-за обновлений система устанавливается в 2-3 раза дольше, чем без них.

📃 Что здесь происходит
Логи установки достаточно подробные, и они нарисовали такую картину этапа OOBE.

1. Первым делом обновляется сам OOBE - пакетом OOBE ZDP (в моём случае - KB5046683). Там всего один файл, поэтому всё очень быстро, включая перезагрузку.

2. Затем ищутся последние обновления. Однако скачивается и устанавливается только накопительное обновление Windows - это было KB5044284. Остальные сразу после входа будут в статусе "скачать и установить", а позже установятся автоматически.

Разработчики прекрасно знают, что процесс этот небыстрый. Они даже встроили в него игру Surf, как в браузере 🏄

3. После перезагрузки выполняется ещё одна проверка обновлений, но к счастью ничего не находит :)

🕝 Почему так долго
Это обычная скорость установки обновлений. Однако в полностью установленной системе поиск, загрузка и часть установки до перезагрузки идут в фоне. Вы не сидите и не ждёте.

Причем в какой-то момент появляется кнопка для отмены - видимо, по таймеру. Однако отмена и откат могут занять больше времени, чем оставшаяся установка 🙄

⌛️ Как было раньше
Изменение задокументировали в 2021 году (спасибо, Alex D). Ранее установка обновлений шла по окончании этапа OOBE и могла продолжаться уже после входа в систему. По завершении предлагалось перезагрузить Windows.

🔒 С чем связаны изменения
С безопасностью. Так при первом интерактивном входе уже закрыты все известные уязвимости ОС. В скобках замечу, что раньше Microsoft обновляла все образы Windows ежемесячно. Сейчас это верно только для образов MSDN, а потребительские дистрибутивы стали обновлять примерно раз в полгода.

Любопытно, что компания хотела внедрить такой же подход для организаций в рамках технологии Autopilot. Но из-за негативных отзывов пошла на попятную через четыре дня после анонса.

🚀 Как ускорить процесс
Кардинально - заранее интегрировать динамические обновления в дистрибутив. Но есть и два более простых способа, связанные с установкой с локальной учётной записью!

🔹 При установке с файлом ответов накопительное обновление пропускается.

🔹 Обновления не установятся без Интернета - BypassNRO в помощь!

☑️ Резюме
К счастью, чистую установку приходится делать нечасто. И даже в этом случае для опытных пользователей есть несложные обходные пути. Но хотелось бы увидеть от Microsoft более элегантное решение, чем заставлять пользователей играть в Surf по полчаса в ожидании установки обновлений ✌️

Читать полностью…

Windows 11, 10, etc - Вадим Стеркин

💩 За кулисами создания г-сборки Windows

Сегодня продолжение поста И так сойдет, в котором я разбирал проблему установки Windows из-за кривизны оригинального образа. Я обещал вернуться к одной странности в описании проблемы. Повторю начало вопроса из чата поддержки:

Без проблем делал себе образы Windows 7, 8, 10, 11 (по версию 23H2).

А вот с версией 24H2 что-то изменилось.

1. Образ Windows 11 Pro с MSDN. Загрузился в режиме аудита.
2. Захватил образ через imagex (так же пробовал захватывать образ через DISM).

Для начала, этот товарищ делал образы не только себе. Едва я помог ему разрулить ошибку установки, как он выложил у себя на сайте г-сборку 😎

Философия сборки: минимальное вмешательство в систему и максимальная экономия времени на инсталляцию.


Заметьте, что он занимается этим много лет, но не смог выполнить элементарную диагностику при ошибке программы установки.

⚙️ Далее, между пунктами 1 и 2 г-сборщик, разумеется, настроил Windows: отключил UAC, "оптимизировал" систему каким-то твикером и внедрил активатор. Но тут все равно не хватает одного важного действия! Я подумал, что оно просто не упомянуто.

Однако картина прояснилась, когда автор сборки создал тему со следующим вопросом. Его интересовало, почему не работает параметр DISM /compress:recovery. А меня - нет, потому что его скриншот был куда интереснее! 👀

📃 По науке в режиме аудита следует:

1. Настроить систему.

2. С помощью sysprep обобщить и запечатать образ. Это необходимо для удаления уникальных системных параметров, деинсталляции драйверов, обнуления SID и т.д.

3. Загрузиться в Windows PE (или другую Windows) и захватить выключенную систему в WIM. Тем самым гарантируется неизменность системных файлов в процессе захвата и отсутствие помех из-за активности ОС и приложений.

👉 Однако г-сборщик не обобщает систему, а сходу пытается захватить ее в образ. Причем не выключенную, а работающую! Прямо из-под нее захват и делает🤦‍♂️🤦‍♂️

Это не Windows PE - видна панель задач. На ней sysprep, который сам запускается именно в режиме аудита. Консоль запущена с захватываемого диска C:. A в виртуалке на букве D: висит вспомогательный диск, откуда он запускает Total Commander, Akelpad и DISM. Туда же сохраняется захваченный образ.

Тут уже неважно, почему у него не работает параметр DISM. Куда важнее дичь, которую он творит в процессе создания своей г-сборки! Это ни в какие ворота не лезет 🙄

И что характерно, когда я раскритиковал его методы и указал на рекомендуемые способы добавления DISM к Windows PE, г-сборщик просто закрыл тему. Ему это не нужно.

✔️ Резюме
Реальная философия сборки: и так сойдет! 👌

Читать полностью…
Подписаться на канал