sterkin_ru | Blogs

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

13867

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

Subscribe to a channel

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

🪚 О скорости выпиливания устаревших функций из Windows

Недавно в чате PowerShell я упомянул, что в октябре 2023 года VBScript присвоили статус deprecated (смысл термина я объяснял ранее). Встречный вопрос был: "А когда уберут совсем?" Дату не объявляли, но можно сделать осмысленный прогноз, опираясь на историю аналогичных фич.

ℹ️ Microsoft с 2015 года ведет список устаревших функций Windows. Поэтому там есть и уже удаленные из системы компоненты, хотя для них предусмотрена отдельная страница.

В списке вперемешку идут корпоративные и потребительские функции. Это разделение отчасти условное, но понятно, что Windows To Go не позиционировалась для дома в отличие от Print 3D. В менее очевидных случаях можно прикинуть, широко ли используется компонент для административных и/или потребительских задач в организациях 👈

В случае с VBScript самим разработчикам Windows для начала нужно разобраться со скриптами, входящими в поставку системы. Сразу приходит в голову slmgr.vbs для управления активацией. Но помимо него в ОС из коробки еще добрый десяток скриптов VBS 🤔

Не влияющие на бизнес приложения и технологии убирают быстрее. В сентябре 2023 года я разбирал уникальные фичи WordPad, когда ему присвоили статус deprecated. Не прошло и четыре месяца, как приложение полностью убрали из сборки 26040 канала Canary 👀

Удаляя корпоративные функции, можно много чего сломать в организациях, поэтому подход более взвешенный. Иногда дату окончательного удаления объявляют заранее, как в случае с диагностическими пакетами (MSDT). Из статей базы знаний их стали убирать еще в 2019 году, устаревшими объявили в январе 2023, а удаление платформы из системы назначили на 2025.

👉 Для оценки оставшейся жизни VBScript неплохой моделью будет утилита wmic:
• 21H1 - объявлена устаревший в клиентской Windows (в серверной еще в 2016)
• 22H2 - стала компонентом по требованию, включенном по умолчанию
• 24H2 - компонент по требованию будет выключен по умолчанию
• ???? - полное удаление

Таким образом, от объявления утилиты wmic устаревшей до ее полного удаления пройдет не меньше четырех лет. И ведь её относительно несложно заменить в скриптах командлетом PowerShell Get-CIMInstance.

Зависимость бизнеса от VBScript куда сильнее. И затраты на переписывание скриптов более существенные. Поэтому предположу, что его выпилят полностью не раньше чем через 4-5 лет после объявления устаревшим ✌️

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

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

▶️ PowerShell: выборка в Get-ChildItem
-LiteralPath vs. -Path vs. -Filter

На прошлой неделе я показывал исследование путей вида \\?\GLOBALROOT\device в #PowerShell с помощью командлета Get-ChildItem (он же gci, dir, ls). Параметр -LiteralPath передает пути в API "как есть", и для такого странного пути это вполне понятно.

Но есть менее очевидный и, наверное, более распространенный случай - квадратные скобки в именах файлов и папок.

dir -Path C:\[ab]folder

Такая команда не найдет папку с именем [ab]folder, нужен -LiteralPath.

Параметр -Path обрабатывает [ ] как часть регулярного выражения, пытаясь найти afolder и bfolder. Можно избегать этого бэктиками, но там свои подводные камни. Когда имя папки точно известно, проще использовать -LiteralPath.

👉 Также -Path поддерживает подстановочные символы * и ?, что очень удобно для быстрой выборки по имени и/или расширению:

dir -Path *.txt

По странному совпадению на днях я столкнулся одновременно с * и [ ] . Искал мои рецензии на статьи, где я добавлял в начало имени файла свои инициалы: [VS] blah-blah.docx. Без задней мысли я ввел в консоль:

dir '[VS*' -Recurse

И получил ошибку синтаксиса ❌ Параметр -Path тут не указан, но подразумевается, поскольку это первый позиционный параметр командлета. И по умолчанию он обрабатывает текущую папку. Параметр -LiteralPath тоже не подходит. Он не работает с подстановочными символами, а для выборки мне нужен *.

ℹ️ На помощь пришел параметр -Filter. Он есть у 20+ командлетов, которые взаимодействуют с поставщиком FileSystem. Строка с путём фильтруется на уровне файловой системы нежели обрабатывается в PowerShell, поэтому такой запрос считается наиболее эффективным. Однако в данном случае важнее поддержка подстановочных символов * и ?.

✅ Такая выборка отлично сработала:

dir -Filter '[VS*' -Recurse

Покопавшись в канале, я нашел упоминание этого параметра в загадке PowerShell четырехлетней давности. Желаю удачи в поисках разгадки! 😎

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

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

⚙️ Как получить доступ к служебному разделу, не изменяя его свойства - дубль 2

Сегодня в рубрике "Возвращаясь к напечатанному" альтернатива способу, который я показывал пару месяцев назад. Там для выборки в #PowerShell я взял атрибут служебного раздела (GUID). Сегодня я покажу, как обойтись без него.

Неудачная попытка Microsoft обновить среду восстановления вынесла на берег множество безумных конфигураций. Именно такую принёс мне в блог читатель Александр, см. картинку↓ 👀 Здесь на дисках 3 и 4 установлены Windows 10 и 11 соответственно.

Первичным анализом я установил, что в обеих ОС на диске 4 зарегистрирована среда восстановления от Windows 11, а шифрование BitLocker не используется. Поэтому мой совет был не морочить себе и другим голову и скрыть обновление Windows 10. Но читатель оказался перфекционистом 🦩 Он заявил, что отключал все диски кроме 3 (с Windows 10), увеличивал раздел со средой, но так и не смог установить обновление.

Действительно, в конце обоих дисков есть какие-то разделы без букв. При этом на диске 4 нет пометки "Раздел восстановления". Значит, ему не присвоены правильные атрибуты, что ставит под сомнение грамотность действий читателя 🤔 Я хочу проверить, есть ли на диске 3 файл winre.wim, раз он там якобы включал среду.

Get-ChildItem -Force -Recurse -LiteralPath \\?\GLOBALROOT\device\harddisk3\partition4\Recovery
Get-ChildItem -Force -Recurse -LiteralPath \\?\GLOBALROOT\device\harddisk3\partition3\Windows\System32\Recovery
Get-ChildItem -Force -Recurse -LiteralPath \\?\GLOBALROOT\device\harddisk3\partition3\Recovery


Вы могли видеть такие пути в выводе команд reagentc /info и vssadmin. Они глубоко уходят корнями в пространства имён NT и хорошо просматриваются в утилите WinObj от Sysinternals.

Первая команда показывает содержимое раздела восстановления (номер 4), обходя отсутствие назначенной ему буквы. Вот мы и получили доступ к служебному разделу, не изменяя его атрибуты! 🎉

Раздел с RE - просто пример. Вот конфигурация загрузки на разделе EFI - в разметке GPT он первый:
Get-ChildItem -Force -LiteralPath \\?\GLOBALROOT\device\harddisk0\partition1\EFI\Microsoft\Boot

ℹ️ Вторая и третья команды исследуют раздел 3 (ОС) на диске с Windows 10. Причем даже в том случае, если человек будет выполнять их из Windows 11! В этом отличие от пути с буквой диска или переменной среды. Здесь параметр -LiteralPath обрабатывает путь "как есть", передавая его в API напрямую. Заметьте, что с тем же путем параметр -Path ничего не выдаст.

В итоге на диске с Windows 10 файла winre.wim не нашлось . Поэтому мой совет перфекционисту был извлечь образ из дистрибутива и зарегистрировать на выделенном разделе. Так, пройдя пять стадий принятия неизбежного, читатель последовал моему совету и... у него все получилось ✌️

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

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

🔁 Новое в блоге: FAQ по Windows RE и ошибке 0x80070643 при установке KB5034441

С лета прошлого года я изучаю попытки Microsoft незаметно обновлять образ WinRE в Windows 11. Материала уже набралось на статью блога, но я не спешил публиковать ее. Практического смысла немного, а теория неинтересна большинству.

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

👉 Вкратце
Есть два осмысленных подхода к решению этой проблемы с обновлением:

🔹Скрыть обновление, если вы уверены в отсутствии шифрования BitLocker и не планируете его включать.

🔹 Увеличить размер раздела со средой восстановления при наличии шифрования BitLocker, затем установить обновление.

Перфекционисты в любом случае выбирают второй вариант.

📃 FAQ
Почему возникает ошибка?
Почему на Windows 10 ошибка возникает не у всех?
Точно ли Windows 11 22H2+ не подвержена уязвимости?
Надо ли беспокоиться, если не используется шифрование BitLocker?
Почему Windows RE размещают на отдельном разделе?
Как поступить, если среда восстановления на зашифрованном разделе с ОС?
Без шифрования надо ли беспокоиться, если среда на разделе с ОС?
Как определить, находится ли Windows RE на отдельном разделе?
Почему у меня два раздела восстановления?
Почему теперь раздел WinRE справа?
Почему при установке обновлений не увеличивают раздел WinRE автоматически?
Почему не всегда возможно автоматически увеличить раздел WinRE?
Как увеличить размер раздела WinRE вручную?
Как скрыть проблемное обновление?
Как автоматизировать обновление образа WinRE на устройствах без WU/WSUS?
Что еще почитать по теме?


Читайте ответы в блоге https://www.outsidethebox.ms/22242/#faq

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

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

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

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

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

⚙️ Диагностика проблемы с созданием файлов загрузки в разметке GPT

Сегодня в рубрике "Возвращаясь к напечатанному" #классика блога про восстановление загрузки в разметке GPT. В тот раз, получив ошибку bcdboot при создании загрузки, я зрительно определил помеху - "лишний" раздел EFI на другом диске. Но не всегда причина очевидна.

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

👉 На такой случай у bcdboot есть ключ -v, выводящий подробный ход операции. И сразу стало видно, что не найден файл c:\Windows\Boot\PCAT\bootmgr

Утилита же не берет файлы из воздуха. Для создания конфигурации загрузки она используют в качестве источника оффлайн систему. В папке PCAT также не было еще нескольких файлов. Когда их скопировали с другой системы, bcdboot отработала как положено.

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

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

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

🛜 О пользе чтения документации

Прочитав предыдущий пост, читатель JustDj опроверг проблему своим файлом ответов (ФО), однако воспроизвел с моим. Различий между файлами было много, но я сфокусировался на разделе OOBE - у меня там на шесть параметров меньше. Основными кандидатами я назначил:

<SkipUserOOBE>true</SkipUserOOBE>
<SkipMachineOOBE>true</SkipMachineOOBE>
<NetworkLocation>Work</NetworkLocation>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>


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

Методом половинного деления быстро выяснилось, что SkipMachineOOBE действительно пропускает экран подключения к сети. Но также работает и HideWirelessSetupInOOBE, хотя у меня установка блокировалась на экране проводной сети 🤔

Что ж, полез в документацию, а там в конце страницы примечание: Despite the name, the Network page will be skipped if the computer has a wired connection to the internet 😎 Так и назвали бы параметр HideNetworkSetupInOOBE :)

⚙️ Также в предыдущем посте особо внимательные читатели могли заметить на экране OOBE кнопку установки драйвера сетевой карты. Ее добавили в октябрьскую сборку 25977 канала Canary. Сообщество отреагировало прекрасной картинкой↓ 💯

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

Так или иначе, это еще один повод напомнить про мою подборку рабочих способов установки ОС с локальной учетной записью ✌️

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

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

⬇️ О Media Creation Tool (MCT) и размере установочного образа Windows

В установочных дисках Windows применяется два формата образа - WIM и ESD. Второй можно получить, указав при экспорте в DISM уровень сжатия /compress:recovery. При этом используется алгоритм LZMS нежели XPRESS (дефолт) или LZX (/compress:max), но основную экономию места дает непрерывный архив 🤐 Поэтому ESD нельзя подключить в отличие от файлового WIM.

Традиционно в ISO - install.wim, а в MCT формат образа поначалу менялся. Как-то раз даже просто поменяли расширение ESD на WIM. Но уже давно у MCT устаканился формат ESD. И дело тут было не только в экономии трафика, но и в способности уместить образ Windows на флешку FAT32.

ℹ️ В теории загрузиться можно и с флешки NTFS, но устройство должно поддерживать такую возможность. Пока это нормой не стало. А поскольку МСТ - универсальное средство для огромной пользовательской базы, годится только FAT32, т.е. образ не должен превышать 4 GB.

⌛️ До поры до времени всё шло хорошо. Даже WIM образы были небольшие, и у Microsoft получалось уложить их в 4 GB при выпуске новой версии Windows. Но дальше в них интегрировали ежемесячные обновления, что вело к увеличению размера образа и превышению предела. Я рассказывал в блоге о том, как обойти ограничение 4 GB еще в 2018 году, когда сам впервые наступил на грабли. Одно из решений - разделить WIM на несколько SWM файлов. Программа установки сама с этим разберется ✅

Формата ESD проблема 4 GB не касалась вплоть до выпуска Windows 11 23H2. Но в день релиза выяснилось, что доступен только свежий ISO, а в MCT скачивается предыдущий образ 22H2 👀 В английском ISO файл install.wim стал на целый гигабайт больше, чем годом ранее!

• 4.51 GB в 22H2 v1 (октябрь 2022)
• 4.71 GB в 22H2 v2 (май 2023)
• 5.51 GB в 23H2 (октябрь 2023)

Трудно поверить, что всего 4 года назад разработчики Windows отключили бэкап реестра ради экономии на спичках 🤦‍♂️

Такой большой образ даже сжатие recovery уже не могло уместить в 4 GB! И тут же проскочила новость, что инженеры Microsoft работают над уменьшением размера образа. Но нельзя же просто взять и выкинуть какие-то файлы. Поэтому они пошли проверенным путем - распилили образ ESD на два файла SWM. Пока на два:)

👉 Но есть нюанс © Разделение на SWM происходит только в случае, когда с помощью MCT вы сразу создаете установочную флешку. А если делать ISO, единый install.esd превышает 4 GB (у английской 23H2 - 4.7 GB). То есть уже не получится подключить этот ISO и скопировать с него файлы на флешку FAT32.

Замечу, что в связи с огораживанием загрузки ISO/MCT, в РФ набрали популярность различные обертки MCT. Но, скажем, в MediaCreationTool.bat вас ждет тот же нюанс.

Морали здесь особой нет. Но есть предупреждение. И совет - в любой непонятной ситуации делите WIM на SWM ✌️

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

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

Наступило время выгодных покупок 🛍

Все, что вам нужно сделать — это применить промокод 💜 приятный 💜

С ним выгода 5 000 рублей на первый заказ от 30 000 рублей на категории: 

🛍 Компьютеры и комплектующие
🛍 Электроника
🛍 Игровые приставки и консоли 

И на многое другое: https://clck.ru/36sABz

Правила применения промокода тут.

Реклама. ООО "МАРКЕТПЛЕЙС".  ИНН 9701048328.

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

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

⚙️ Настройка профиля пользователя с помощью Active Setup

Сегодня в рубрике "Возвращаясь к напечатанному" настройка профиля пользователи до первого входа в систему. Точнее, однократное выполнение команд для всех новых пользователей. Метод RunOnce из этой статьи пытался приспособить для решения своей проблемы читатель Дмитрий.

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

❌ Проблема в том, что не применяются некоторые твики реестра, внесённые в профиль Default.

Дмитрий сообщил, что импорт в реестр из раздела RunOnce тоже не помог, а также доставил решение. Оказалось, его проблема стара как Windows, и решение тоже - Active Setup! 👈

ℹ️ На самом деле в профиль Default вносятся все параметры. Но при первом входе пользователя в систему выполняется настройка некоторых компонентов. При этом в реестре могут переопределяться значения, внесенные на более ранних этапах установки! Этот этап настройки называется Active Setup.

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

✅ Решение - выполнить настройку на этапе Active Setup! В данном случае - импортировать твики реестра. Я не буду детально расписывать, но подкину полезные ссылки:

🔹 Выполнение задачи с помощью Active Setup - краткое, но достаточное руководство в блоге windowsnotes.ru. Учтите, что в параметре StubPath надо прописывать полный путь к исполняемому файлу, т.е. просто powershell.exe не прокатит.

🔹Более подробные инструкции на форуме OSZone.

🔹Еще один пост на форуме, отсылающий к Windows XP, T12/T13 и применению твиков с помощью INF-файлов.

Кстати, на OSZone выложено, пожалуй, самое полное, хотя так и не дописанное руководство по работе с INF-файлами на русском языке. Ему 20 лет, но подозреваю, что почти всё изложенное там работает до сих пор ;)

Но допустим, вы не знаете про Active Setup. Диагностикой несложно определить, что метод RunOnce в целом работает. Проблема лишь с некоторыми параметрами и только при первом входе в систему.

Тогда можно запилить двойной RunOnce! Первый запуск из RunOnce просто прописывает команду для выполнения в... RunOnce. И она отработает при втором входе в систему! Это вполне в соответствии с девизом блога ✌️

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

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

Просто взяли нейросетку Stable Diffusion и превратили голливудских звёзд в советских пионеров!

Хотите также? Вот тут ребята проводят интенсив, на котором собирают свои нейросетки при помощи ChatGPT и Stable Diffusion.

На интенсиве вы узнаете, как работают технологии вроде ChatGPT, Stable Diffusion, а также разберетесь в генерации и распознавании речи с помощью нейронок — этот интенсив для тех, кто хочет быстро залететь в востребованную  сферу в ИТ!

Всего за 2 дня вы создадите сразу 12 крутых нейросетей.

Зарегистрироваться на интенсив можно по ссылке.

Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8Jx1J4

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

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

🔓 Интересуетесь хакингом, но не хотите прослыть кулхацкером? Читайте эти каналы:

🐥 Лаборатория Хакера — полезные github-инструменты для пентеста, сетевой разведки, xss, криптографии.

🏳️ Mr. Robot - реальные кейсы, OSINT, уроки по соц. инженерии и анонимности, обзоры инструментов с github.

🧑‍💻 Этичный Хакер - один из крупнейших ресурсов по информационной безопасности в рунете. Книги, курсы, полезные программы, уроки по Linux, новости клирнета и даркнета.

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

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

🆕 Запустился новый сервис для управления проектами и организации процессов в компании с мессенджером внутри — Treerim.ru

Какие преимущества есть у Treerim?

⚙️ Настройка процессов, карточек задач и прочего — максимально детализированная. Можете подогнать сервис под уже выстроенные процессы в компании.

📨 Мессенджер с чатами, аудио и видео-комнатами для общения внутри с возможностью записи и хранения информации. Сотрудник не сотрёт важные сообщения из корпоративного чата в телеге, например.

🧑🏻‍💻 А также: возможность создать полноценную базу знаний как в ноушене, кастомизация любых настроек и доступов внутри процессов, задач, отделов и так далее, возможность вести проекты по agile или канбан, хранение информации по всем сотрудникам и многое другое.
А команды до 10 человек могут пользоваться сервисом бесплатно. Круто же!

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

Реклама, ООО “ОНЛИ”

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

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

🔎 О поиске на панели задач

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

А на практике значки панели задач упираются в значки трея, в то время как слева остается пустое пространство. На картинке↓ типичный вид моей рабочей системы. Впрочем, здесь нет кнопки виджетов, и поиска тоже нет, и это не случайно!

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

Мы же обходились без него с Windows Vista, т.е. с 2006 года. Открывали Пуск и вводили запрос. (Для поиска программ это был огромный глоток свежего воздуха по сравнению с трехэтажными меню XP.) Windows 8 многим сломала привычный UX - там не было ни кнопки Пуск, ни поля поиска на начальном экране. Хотя мой процесс не поменялся - быстрее всего нажимать клавишу Win и тут же печатать запрос ⌨️

В Windows 10 меню Пуск довели практически до совершенства, в том числе по отзывам пользователей. Но поле поиска туда так и не добавили. Я видел несколько человек, пересевших с Windows 7 на 10 и поначалу входивших в ступор: "А куда вводить запрос?" Именно для них на панель задач воткнули кнопку поиска, которую с годами старательно разукрашивали. Оформляли её в виде фейкового поля поиска и внедряли туда разноцветную движуху 🎉

В Windows 11 поле поиска вернули в меню Пуск, но с панели задач поиск не убрали. Возможно, потому что с 2015 года уже приучили пользователей тыкать в эту ненужную кнопку. А еще скорее из-за маркетинга - цветное мельтешение на панели задач всегда перед глазами, а ведет оно в Bing! Не случайно одно из недавних обновлений включало убранный с панели задач поиск 🙄

Да, размещение поля поиска слева частично решит проблему с центрированием панели задач (хотя эффект будет минимальным, когда вместо поля - кнопка). Но это породит другую нестыковку: одна и та же панель с результатами поиска будет открываться совсем в разных местах - Пуск посередине, а поиск слева 🤷‍♂️

И даже если поиск на панели задач нужен Microsoft и каким-то пользователям, его размещение слева имеет смысл только при выравнивании панели задач по центру (по левому краю даже кнопка виджетов правее Пуска). Внедрив смелое центрирование панели задач, Microsoft не решилась выпилить привычное расположение Пуска в левом углу. Сидеть на двух стульях неудобно, а долго сидеть - больно🪑🪑

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

Возможно, когда наступит время заменить поиск, поле Copilot действительно разместят слева и будут там же открывать боковую панель. Без заметных изменений Пуска и панели задач не обходится ни одна новая ОС Microsoft. Ждем новую волну смелых дизайнерских решений в Windows 12 ✌️

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

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

▶️ Как массово удалить папки, распакованные из архивов

В чате участник Павел задал такой вопрос:
В папке ~450 разных файлов, папок и архивов *.rar. Периодически рары разархивируются, и получается папка с тем же именем, что и rar. Стоит задача удалить эти папки, оставив при этом архивы. Как отсортировать, чтобы снизу папки сразу был её родительский архив?

Очевидно, он рассматривал вариант сортировки в файловом менеджере. Хотя надо сразу смотреть в сторону #PowerShell. Для начинающих это отличное практическое упражнение! Впрочем, этому унылому занятию Павел предпочел ожидание поста в канале 😎

Я бы решал задачу в лоб:
1. Отбираем только папки.
2. Для каждой проверяем наличие архива с таким же именем, "приклеивая" к имени папки расширение.
3. При совпадении удаляем.

$folders = Get-ChildItem -Path "C:\test" -Directory
foreach ($folder in $folders) {
if (Test-Path "$($folder.FullName).rar")
{Remove-Item $folder -Recurse -WhatIf}
}


Василий Гусев предложил нестандартное решение - группировка! 🤔 Мне оно в голову не пришло, хотя я трижды показывал Group-Object в блоге:
поиск дубликатов драйверов
выборка уникальных ссылок с веб-страниц
замена дубликатов файлов на жесткие ссылки

Доработав идею, я получил такой конвейер:
1. Группируем по имени папки и файлы без расширения с помощью свойства BaseName.
2. Отбираем группы, где с одинаковыми именами ровно два объекта - файл и папка!
3. Из каждой группы выбираем папки и удаляем их.

Get-ChildItem -Path "C:\test" | Group-Object -Property BaseName |
Where-Object {$_.Count -eq '2'} | ForEach-Object {$_.group} |
Where-Object {$_.Attributes -eq 'Directory'} | Remove-Item -Recurse -WhatIf


⌛️ Примечательно, что с обоими способами перекликается #классика блога Как массово переименовать файлы по маске в PowerShell. Там я склеивал имя файла из фрагментов, одним из которых было свойство BaseName.

🤖 И неудивительно, что ChatGPT тоже задействовал это свойство, когда я поставил задачу перед ним. Он пошел тем же путем что и я, но выбрал перебор архивов нежели папок и создал побольше переменных. В свою очередь чат-бот Bing практически повторил мой способ. Но для определения папки он использовал старое свойство объекта PSIsContainer (параметр -Directory у dir доступен более 10 лет, с версии 3.0).

Короче, получив направление в PowerShell, Павел мог сразу спросить чат-бота. И не дожидаться, пока кожаный мешок опубликует решение его простенькой задачи в канале ✌️

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

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

erid: LjN8K12ZD

В поисках надёжной корпоративной SIEM-системы в условиях импортозамещения?

Регистрируйтесь на вебинар «Импортозамещение систем безопасности: всё о MaxPatrol SIEM», который пройдёт 13 февраля в 12:00.

На этом вебинаре расскажем и продемонстрируем:

🔹 Как MaxPatrol SIEM собирает данные об IT-активах и как работает технология детальной инвентаризации.
🔹 Как MaxPatrol SIEM идентифицирует IT-активы даже в меняющейся инфраструктуре.
🔹 Как правильно подключать источники к системе.
🔹 Что из себя представляют пакеты экспертизы и правила корреляции.
🔹 Как модуль VM может расширить возможности MP SIEM по контролю уязвимостей.
🔹 Что нового в MaxPatrol SIEM 8.0 и VM 2.0.

Регистрируйтесь на вебинар «Импортозамещение систем безопасности: всё о MaxPatrol SIEM»

Реклама. ООО "ИНФРАТЕХ". ИНН 5024197250.

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

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

💣 Как администратору Windows автоматизировать рутинные задачи? 

Узнайте на бесплатном практическом уроке «PowerShell — быстрый старт в скрипты» от OTUS. 

💻 После вебинара вы сможете:
 
— Создавать простые скрипты на PowerShell для автоматизации управления Windows инфраструктурой 

— Оптимизировать процессы и ускорить выполнение рутинных задач 

— Улучшить свои навыки в области автоматизации и управления задачами в операционной системе Windows 

👉 Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Администратор Windows». Доступна рассрочка на обучение! 

🔥 Регистрируйтесь прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/5Pa4b/?erid=LjN8KKa5L

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

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

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

⚙️ Гадание по логам: диагностика ошибки обновления Windows RE

Проблема с обновлением RE может возникать не только из-за недостатка места на выделенном разделе. Участник чата Zubastic получил в WU другую ошибку - 0x800f0922. На диске GPT три раздела, среда восстановления выключена. При включении:
REAGENTC.EXE: образ среды восстановления Windows не найден.

При отключенной среде образ вероятно в dir /ah C:\Windows\system32\Recovery, но стоит проверить папку \Recovery\WindowsRE на разделах с ОС и средой, где он и оказался.

Включаем среду восстановления с логом:
reagentc /setreimage /path d:\Recovery\WindowsRE /logpath %temp%\reagent.log
REAGENTC.EXE: сбой операции: 3bc3


В логе
2024-01-15 12:45:13, Info
ReAgentConfig::ReadBcdAndUpdateEnhancedConfigInfo
WinRE disabled, WinRE Guid could not be determined (0x3bc3)

Утилита не смогла прочесть BCD и определить GUID среды для конфигурации загрузки. Ведь в RE надо грузиться с помощью BCD. Этот GUID прописан в BCD (параметр recoverysequence) и файле конфигурации RE:
%windir%\system32\Recovery\ReAgent.xml.

Короче, что-то не так с BCD. В GPT она на разделе EFI с FAT32. Но такого раздела в системе не видно, первый - какой-то NTFS на 540 MB. Zubastic вспоминает, что конвертировал MBR в GPT.

Наверное, это бывший раздел System Reserved. Я предлагаю отформатировать в EFI и пересоздать BCD. Теперь раздел FAT32, но bcdedit выдает:
Не удается найти данные конфигурации загрузки.

При этом утилита открывает хранилище, если указать прямой путь. Система тоже грузится 🤔

Дальше автор вопроса гуглил уже сам и вышел на неверный идентификатор раздела. Оказалось, он просто отформатировал раздел в FAT32. Поэтому сохранился старый ИД!

👉 В блоге и доках скрипт diskpart создает раздел EFI, тем самым назначая правильный ИД, затем форматирует:
create partition efi size=100
format quick fs=fat32 label="System"


Идентификатор (GUID) здесь соответствует EFI.
DISKPART> det par

Partition 1
Type : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden : Yes
Required: No
Attrib : 0X8000000000000000
Offset in Bytes: 1048576


Как только первому разделу задали этот ИД, bcdedit выдала все как надо. А с reagentc получилось задать расположение образа среды восстановления на последнем разделе и включить ее ✌️

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

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

⚙️ Новое в блоге: Как предотвратить автоматическую установку приложений из магазина Windows

Сегодня в рубрике «Возвращаясь к напечатанному» приложения, которые прилетают в систему после установки Windows в отличие от применяемых из образа. Строго говоря, я покажу не предотвращение установки, а автоматическое удаление сразу после нее. Зато этот способ подходит для любых приложений и даже поддерживается ;)

Когда в Windows 11 23H2 всем пропихнули приложения Dev Home и новый Outlook, отключение диспетчера доставки содержимого проверенными твиками уже не решало вопрос. Новые твики в итоге обнаружили. Но это же надо ждать, искать их…

Я хочу предложить свой подход к решению задачи в соответствии с девизом блога на примере удаления трех приложений: Dev Home, Outlook for Windows и Яндекс Музыка.

➡️ Читайте в блоге: https://www.outsidethebox.ms/22217/

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

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

↩️ О возврате к предыдущей версии Windows

Читатель WindR обновил Windows 10 до Windows 11 путем установки поверх и получил нерабочую систему. Загрузиться удавалось только в безопасный режим с поддержкой командной строки. Иначе после ввода пароля черный экран, а дальше ничего не запускается, даже диспетчер задач.

ℹ️ К предыдущей версии можно откатиться в течение 10 дней, либо продлить окно до 60 дней пока поезд не ушел. Вернуться можно не только из GUI, но и из командной строки (см. также документацию):

DISM /Online /Initiate-OSUninstall /Quiet

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

👉 Однако папка Windows.old была на месте и не пустая, поэтому я предложил попробовать ручной откат.

Судя по всему, это давно не поддерживается, поскольку автоматизировано с DISM. Из базы знаний Microsoft даже убрали статью про это времен Windows 7. Но благодаря усилиям Вадимса Поданса, статью можно найти. Запрос windows.old выдал две, искомая - KB971760: https://mskb.pkisolutions.com/kb/971760

📃 Загрузившись в среду восстановления, вместо возни с консольной командой move читатель переместил папки в Total Commander, запущенном с флэшки. Алгоритм простой:

1. Во временную папку переместить новые Windows, Program Files, Users и скрытую ProgramData.

2. Из Windows.old такие же папки скопировать или переместить в корень диска.

В общем, так и устанавливается Windows - применяют WIM с этими папками к диску. В статье также чинят затёртый загрузчик. Но при обновлении с Windows 10 до 11 это не нужно.

После этих действий удалось загрузить предыдущую систему, но она оказалась неполной - не хватало программ 🤷‍♂️ Оказывается, для обновления было недостаточно места, и читатель воспользовался советом программы установки перенести файлы на внешний диск. Однако в итоге недостающих файлов там не оказалось - возможно, в конце обновления установщик их удалил.

Там было еще много плясок с бубном вокруг установки Windows 10 поверх полуживой системы. И в итоге все получилось! Стесняюсь спросить, какие планы насчет апгрейда до Windows 11 😎

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

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

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

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

👨🏻‍💻 Social Engineering — Авторский Telegram канал, посвященный информационной безопасности, OSINT и социальной инженерии.

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

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

⚙️ Про установку Windows 11 с локальной учетной записью при помощи файла ответов

Я давно опубликовал в блоге простой файл ответов (ФО) для быстрой автоустановки Windows. Прописав в нём локальный аккаунт, вы автоматически обходите требование использовать учетную запись Microsoft (MSA). Но есть нюанс ©

При наличии интернета всё идёт по плану. А когда его нет, программа установки Windows 11 упирается в такое окно↓ Да, это можно обойти тем же BypassNRO. Но ФО предназначен для автоматизации установки. То есть без интернета он уже не работает как положено 🤦‍♂️

По сути интернет им нужен только для форсирования учетной записи Microsoft (MSA), которая прописана в системных требованиях изданий Home и Pro. И можно предположить, что в них по логике Microsoft нечего файлом ответов баловаться и интернеты отключать ❌

Но в корпоративных изданиях точно такая же ситуация! И параметр ФО для пропуска этого окна как минимум не задокументирован. Поэтому на самом деле логика здесь "и так сойдет"👌

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

▶️ Бонус: в процессе установки вы можете управлять подключением к интернету с помощью синхронных команд и #PowerShell:
Get-NetAdapter -Name * | Disable-NetAdapter -Confirm:$False -WhatIf
Get-NetAdapter -Name * | Enable-NetAdapter

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

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

💩 О современных "хороших" г-сборках

Читатель Андрей не смог пройти капчу в чате, пришел в личку за разъяснениями и получил ссылку на пост о г-сборках . В дальнейшей переписке он поднял вопросы дистрибутивов, в которых сделан минимум якобы безобидных и полезных изменений.

Например, в сборку только интегрированы последние обновления. Ну ладно, оказывается еще включен .NET Framework 3.5 и вырезаны магазинные приложения. И все равно читатель считает такую сборку хорошей и полезной 🙄

Но такая г-сборка точно не нужна вам, читателям моего канала и блога, где помимо прочего тема подготовки дистрибутива поднимается регулярно.

🤷‍♂️ Интеграция обновлений от сборщика - не имеет смысла

Microsoft ежемесячно обновляет дистрибутивы для организаций (aka "образы MSDN"), интегрируя туда последние накопительные исправления (CU). К сожалению, с потребительскими образами MCT и ISO компания скатилась до полугодовых обновлений (в октябре у Windows 11 были майские образы). Для них интеграция обновлений еще может иметь смысл. Но тогда уж вместо г-сборки проще взять с того же трекера свежий и не подвергавшийся изменениям образ MSDN.

Вообще, пытаться укрепить безопасность руками г-сборщика как-то странно. Вы настолько доверяете ему? Что ж, полно таких доверчивых людей, но... 🙈 Некоторые "мастера" не только ставят обновления, но и чистят после них, причем сторонними инструментами. Это еще одно ненужное и потенциально деструктивное действие.

В любом случае последний CU можно установить сразу после установки ОС. Если для вас такой уровень безопасности слишком низкий, интегрируйте динамические обновления самостоятельно. Microsoft вам даже скрипты подготовила!

🔓 Установка .NET Framework 2.0-3.5 - увеличивает поверхность атаки

Да, ежемесячно выходят исправления .NET 3.5 + 4.х. Но зачем прорубать в стене окно, чтобы защищать его шторами? Г-сборщик внедряет .NET 3.5 для неких масс, но так ли они широки и входите ли вы в их число – большой вопрос.

Мне .NET 3.5 уже много лет не нужен, это для очень старого ПО, от которого надо избавляться. Если что, он сам предложит установиться с WU.

✂️ Вырезание магазинных приложений – лишает контроля над набором фич

Если у вас нет приложений, вы можете не осознавать их пользы. Я вижу, что люди активно используют Snipping Tool - теперь и с записью видео, ваш телефон, фотографии, Paint в конце концов - уже и со слоями:) ОК, я даже слышу как вы кричите - мне они все равно не нужны!!!111

Но почему вы позволяете сборщику решать, можно вам ими пользоваться или нет? И уверены ли вы, что он не вырезал лишнего? 🤔

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

👉 Отсутствие контроля над дистрибутивом - недальновидно и рискованно

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

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

✅ Итого

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

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

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

erid: LjN8KCX32

В поисках надежного корпоративного файрвола следующего поколения в условиях импортозамещения? 

Регистрируйтесь на обновленный практический вебинар «Импортозамещение сетевой безопасности: всё о UserGate». Начинаем 12 декабря в 12:00.  

Мы покажем, как на UserGate:  
🔹 разграничивать доступ пользователей  
🔹 контролировать приложения и сайты  
🔹 поднять отказоустойчивый VPN  
🔹 внедрить многофакторную аутентификацию  
🔹 настроить сбор и анализ логов для отчётности  
🔹 разберем новые возможности версии UserGate 7.1
🔹 Подробно расскажем о UserGate Client и SIEM Light.

Регистрируйтесь на вебинар: «Импортозамещение сетевой безопасности: всё о UserGate» 

Реклама. ООО "ИНФРАТЕХ".  ИНН 5024197250.

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

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

😎 Этой зимой... на всех удаленных рабочих столах... от создателей триллера Выиграть... Вкладка!

На картинке, которую читатель Niks любезно прислал в нашу горячо любимую рубрику #автоперевод, приложение Microsoft Remote Desktop для Android.

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

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

🔒 О ПИН-коде для удобства

Посмотрите на картинку↓ Это - варианты входа в Windows. Причем способы, относящиеся к Windows Hello, обозначены явно. Вроде все правильно, но есть нюанс © В левом верхнем углу написано, что вход выполнен с локальным аккаунтом. А в этом случае пометку "Windows Hello" с ПИН-кода следовало бы снять, потому что проверка подлинности работает иначе! 👈

Заметьте, что вход с паролем к Windows Hello не относится. Microsoft давно опубликовала статью Почему ПИН-код лучше пароля, хотя изначально в тексте пароль не имел приставки "онлайн". Там много говорится о преимуществах ПИН-кода над локальными паролями, но ни разу не упоминается локальный аккаунт.

👉 На самом деле при использовании локальной учетной записи ПИН-код служит для удобства. У Microsoft он так и называется - convenience PIN. Потому что процесс аутентификации отличается от учетной записи Microsoft (MSA) и аккаунтов Windows Hello for Business (WHfB).

ℹ️ Покровы срывает документ Common questions about Windows Hello for Business. Русский машинный перевод сойдет.

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

⚙️ Не случайно, когда форсируется вход с Windows Hello, вариант входа с паролем пропадает и у локальных учетных записей, в том числе автологон. Это лишь в Параметрах написано, что Windows Hello требуется для MSA. А по факту настройка распространяется на всю систему.

Кстати, в том же документе Microsoft говорится, что технология WHfB не предназначена для работы с локальными учетными записями. И внезапно там же нашлось объяснение алгоритма, предотвращающего использование простых ПИН-кодов, о котором я писал в блоге.

В заключение, основная #классика блога по теме:
🔹 ПИН-код в Windows
🔹 Нюансы допустимых ПИН-кодов в Windows
🔹 Нюансы беспарольного входа в Windows
🔹 Как включить автоматический вход в Windows

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

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

▶️ Новое в блоге: Нюансы полной локализации Windows с помощью PowerShell

Сегодняшний рассказ продолжает серию публикаций о языковых настройках. Для управления ими в Windows 11 появились новые командлеты: Install-Language и Copy-UserInternationalSettingsToSystem. С ними стала возможна полная локализации системы командлетами #PowerShell. Но понадобятся еще пять других :)

👉 Цель упражнения — полностью локализовать установленную Windows на русский язык для текущего пользователя и всех созданных впоследствии аккаунтов.

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

➡️ Читайте в блоге: https://www.outsidethebox.ms/22149/

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

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

🛍 Как удалить новые приложения Dev Home и Outlook в Windows 11 23H2

Вчера был второй вторник, а следовательно в Windows 11 22H2 всем пришло накопительное обновление с функциями Момент 4 - KB5032190. Оно или его превью необходимы для обновления до версии 23H2 - KB5027397. Это опять #тумблер - номер версии меняется переключателем, потому что у них одинаковая кодовая база.

⚠️ Если вам не предлагают 23H2 в центре обновления, проверьте эти причины.

Большинство новинок доставляет Момент 4, поэтому обновление до 23H2 отчасти формальное. Однако с ним через диспетчер доставки содержимого прилетают в принудительном порядке два магазинных приложения - превью Dev Home и Outlook for Windows (замена магазинной Почте). У некоторых от этого подгорит. А уж когда они обнаружат, что не могут удалить Dev Home в графическом интерфейсе... 🍑🔥

Эти две команды в #PowerShell от имени администратора решают вопрос:

Get-AppxPackage -AllUsers | Where-Object {$_.Name -like '*DevHome*' -or $_.Name -like '*OutlookForWindows*'} | Remove-AppxPackage -AllUsers
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -Like '*DevHome*' -or $_.PackageName -Like '*OutlookForWindows*'} | Remove-AppxProvisionedPackage -Online


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

Однако удаление не блокирует доставку этих приложений в новые учетные записи. Если вы знаете поддерживаемый способ предотвратить установку, сообщите мне. О кривых обходных путях я, возможно, напишу отдельно ✌️

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

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

🔐 Специалисты канала CyberYozh собаку съели на анонимности и безопасности. Сейчас они срывают покровы с темной стороны ChatGPT, рассказывая про опасные, но полезные ИИ-сервисы:

AI-детектив — настоящий сыщик, встроенный в библиотеку Кибердетектива. Найдет все, что не может найти человек.

HackerGPT — теперь, чтобы стать хакером, не нужно долго копошиться в мануалах по кибербезу. Осторожно, штука залипательная!

MetaGPT — нейросеть, которая сама кодит другие нейронки.

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

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

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

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

👨🏻‍💻 Social Engineering — Авторский Telegram канал, посвященный информационной безопасности, OSINT и социальной инженерии.

Читать полностью…
Subscribe to a channel