🔓 О папке C:\inetpub
Обычно она создаётся при включении необязательных компонентов IIS (встроенные в Windows веб-сервер и FTP-сервер). Однако после апрельского накопительного обновления внимательные люди обнаружили папку в клиентских и серверных Windows даже при выключенных компонентах IIS.
Спустя пару дней популярные сетевые издания сообщили со слов Microsoft, что так и задумано, а удалять папку не следует вне зависимости от наличия включённого IIS. И действительно, 10 апреля в статью с описанием уязвимости CVE-2025-21204: Windows Process Activation Elevation of Privilege Vulnerability безопасники Microsoft добавили специальное примечание:
After installing the updates listed in the Security Updates table for your operating system, a new %systemdrive%\inetpub folder will be created on your device. This folder should not be deleted regardless of whether Internet Information Services (IIS) is active on the target device. This behavior is part of changes that increase protection and does not require any action from IT admins and end users.
ℹ️ Дело тут серьёзное. В соответствии со статьёй, используя изъян в стеке Windows Update, злоумышленник с локальным доступом может легко повысить свои привилегии с обычных до системных. Это называется Elevation of Privilege, EoP.
Слабость классифицируется как CWE-59: Improper Link Resolution Before File Access ('Link Following'). И это похоже на очередную уязвимость в обработке ярлыков Windows, т.е. файлов .LNK. Среди наиболее заметных уязвимостей LNK с EoP из прошлого: CVE-2010-2568 и CVE-2017-8464. Но они были куда опаснее тем, что позволяли удалённое повышение привилегий.
🤔 Казалось бы, предотвращение уязвимости путём создания папки выглядит несерьёзно. Но с одной стороны, Microsoft заявляет это лишь как одну из мер. А с другой - это может быть достаточным временным (надеюсь 🙂) решением до реализации более существенного исправления.
⚙️ Вероятно, уязвимость эксплуатируется путём создания файлов .LNK в C:\inetpub. После установки обновления (и при включении IIS, если на то пошло) для записи в папку и её удаления требуются права системы, TrustedInstaller или администратора.
То есть теперь злоумышленник с ограниченными правами не может ни создать в ней файлы для эксплуатации уязвимости, ни заменить её на свою папку. См. картинку.
////
В общем, лучше папку не удалять. Если она мозолит глаза, сделайте её скрытой и системной. Если же вы удалили папку и теперь жалеете, есть пара вариантов:
🔹 Удалите апрельское накопительное обновление и установите его заново
🔹 Включите любой компонент IIS (это создаст папку) - клонируйте ACL во временную папку - выключите IIS и перезагрузитесь - создайте папку вручную - клонируйте ACL из временной папки. Разрешения будут не один к одному, но обычного пользователя ограничат.
Ещё можно попробовать дождаться следующего накопительного обновления. Однако я могу лишь предположить, что оно восстановит папку, но не гарантировать. Да и лучше не сидеть месяц с уязвимостью ✌️
P.S. Спустя полтора месяца, Microsoft выпустила скрипт #PowerShell для создания папки с нужными разрешениями NTFS: Set-InetpubFolderAcl.
Обычно она создаётся при включении необязательных компонентов IIS (встроенные в Windows веб-сервер и FTP-сервер). Однако после апрельского накопительного обновления внимательные люди обнаружили папку в клиентских и серверных Windows даже при выключенных компонентах IIS.
Спустя пару дней популярные сетевые издания сообщили со слов Microsoft, что так и задумано, а удалять папку не следует вне зависимости от наличия включённого IIS. И действительно, 10 апреля в статью с описанием уязвимости CVE-2025-21204: Windows Process Activation Elevation of Privilege Vulnerability безопасники Microsoft добавили специальное примечание:
After installing the updates listed in the Security Updates table for your operating system, a new %systemdrive%\inetpub folder will be created on your device. This folder should not be deleted regardless of whether Internet Information Services (IIS) is active on the target device. This behavior is part of changes that increase protection and does not require any action from IT admins and end users.
ℹ️ Дело тут серьёзное. В соответствии со статьёй, используя изъян в стеке Windows Update, злоумышленник с локальным доступом может легко повысить свои привилегии с обычных до системных. Это называется Elevation of Privilege, EoP.
Слабость классифицируется как CWE-59: Improper Link Resolution Before File Access ('Link Following'). И это похоже на очередную уязвимость в обработке ярлыков Windows, т.е. файлов .LNK. Среди наиболее заметных уязвимостей LNK с EoP из прошлого: CVE-2010-2568 и CVE-2017-8464. Но они были куда опаснее тем, что позволяли удалённое повышение привилегий.
🤔 Казалось бы, предотвращение уязвимости путём создания папки выглядит несерьёзно. Но с одной стороны, Microsoft заявляет это лишь как одну из мер. А с другой - это может быть достаточным временным (надеюсь 🙂) решением до реализации более существенного исправления.
⚙️ Вероятно, уязвимость эксплуатируется путём создания файлов .LNK в C:\inetpub. После установки обновления (и при включении IIS, если на то пошло) для записи в папку и её удаления требуются права системы, TrustedInstaller или администратора.
То есть теперь злоумышленник с ограниченными правами не может ни создать в ней файлы для эксплуатации уязвимости, ни заменить её на свою папку. См. картинку.
////
В общем, лучше папку не удалять. Если она мозолит глаза, сделайте её скрытой и системной. Если же вы удалили папку и теперь жалеете, есть пара вариантов:
🔹 Удалите апрельское накопительное обновление и установите его заново
🔹 Включите любой компонент IIS (это создаст папку) - клонируйте ACL во временную папку - выключите IIS и перезагрузитесь - создайте папку вручную - клонируйте ACL из временной папки. Разрешения будут не один к одному, но обычного пользователя ограничат.
Ещё можно попробовать дождаться следующего накопительного обновления. Однако я могу лишь предположить, что оно восстановит папку, но не гарантировать. Да и лучше не сидеть месяц с уязвимостью ✌️
P.S. Спустя полтора месяца, Microsoft выпустила скрипт #PowerShell для создания папки с нужными разрешениями NTFS: Set-InetpubFolderAcl.
Опрос: применяете ли вы генеративный ИИ (ChatGPT, Midjourney и т.п.) для повышения продуктивности в своей работе или учебе?
Anonymous Poll
26%
Да, регулярно
22%
Да, иногда
14%
Да, редко
13%
Нет, но хотелось бы
14%
Нет, работа не подразумевает такого
7%
Нет, я отрицаю ИИ
4%
Моего варианта тут нет
▶️ Как быстро искать по различным параметрам служб Windows
И не только служб. И не только в Windows!
В чате Николай посетовал :
Когда они сделают сквозной поиск по службам Windows. Ну то есть по всем атрибутам служб. Я вот не могу запомнить как какая служба называется в русскоязычном интерфейсе. Вывели хотя бы в оснастке столбец "Отображаемое имя", но нет.
В диспетчере задач Windows 11 есть приличный сквозной поиск по службам. Но отображаемого имени там нет. И многих прочих параметров тоже.
👉 Николаю сразу посоветовали #PowerShell - командлет
Это самый настоящий графический интерфейс! Здесь есть:
🔹 сквозной фильтр по всем параметрам
🔹 тонкие критерии фильтров
🔹 сортировка по столбцам
По умолчанию выводится всего три параметра служб: имя, отображаемое имя и статус. Все доступные параметры можно отобразить так:
Дальше вы можете управлять набором столбцов в графическом интерфейсе. И да, их можно сразу перечислить в
🏷 Наконец, можно сделать ярлык на такую "оснастку".
////
Этот прием можно применять и к другим оснасткам. Именно так я ковыряюсь в дебрях планировщика Windows. Потому что динамическая фильтрация рулит!
Продолжая пост про задания планировщика, вот список всех заданий с командами:
Разумеется, этот способ не ограничивается оснастками MMC и вообще ОС Windows. Применяйте командлет
И не только служб. И не только в Windows!
В чате Николай посетовал :
Когда они сделают сквозной поиск по службам Windows. Ну то есть по всем атрибутам служб. Я вот не могу запомнить как какая служба называется в русскоязычном интерфейсе. Вывели хотя бы в оснастке столбец "Отображаемое имя", но нет.
В диспетчере задач Windows 11 есть приличный сквозной поиск по службам. Но отображаемого имени там нет. И многих прочих параметров тоже.
👉 Николаю сразу посоветовали #PowerShell - командлет
Get-Service
для получения сведений о службах. Однако ТС хотел графический интерфейс и отрицал этот способ. Тогда я добавил еще один командлет - Out-GridView:Get-Service | Out-GridView
Это самый настоящий графический интерфейс! Здесь есть:
🔹 сквозной фильтр по всем параметрам
🔹 тонкие критерии фильтров
🔹 сортировка по столбцам
По умолчанию выводится всего три параметра служб: имя, отображаемое имя и статус. Все доступные параметры можно отобразить так:
Get-Service | Select-Object * | Out-GridView
Дальше вы можете управлять набором столбцов в графическом интерфейсе. И да, их можно сразу перечислить в
select
. 🏷 Наконец, можно сделать ярлык на такую "оснастку".
////
Этот прием можно применять и к другим оснасткам. Именно так я ковыряюсь в дебрях планировщика Windows. Потому что динамическая фильтрация рулит!
Get-ScheduledTask | Select-Object * | Out-GridView
Продолжая пост про задания планировщика, вот список всех заданий с командами:
$tasklist = @()
Get-ScheduledTask | ForEach-Object {
$task = [xml](Export-ScheduledTask -TaskName $_.URI)
$taskdetails = New-Object -Type Psobject -Property @{
"Name" = $_.URI
"Action" = $task.Task.Actions.Exec.Command
}
$tasklist += $taskdetails
}
$tasklist | Select-Object Name,Action | Out-GridView
Разумеется, этот способ не ограничивается оснастками MMC и вообще ОС Windows. Применяйте командлет
Out-GridView
для анализа любых табличных наборов данных! ✌️🛍 Как открыть магазинное приложение, если у него нет ярлыка
И в Пуске оно тоже не находится. Этот вопрос задал мне подписчик Андрей К в контексте приложения Сообщения оператора (Operator Messages). Оно показывает служебные SMS мобильного оператора на устройствах с поддержкой 4G/5G.
Как я понял, приложение само открывается для отображения входящих SMS. Но если его закрыть, то потом уже не открыть. Андрей упомянул, что приложение можно закрепить на панели задач. И для меня это уже выглядит решением ✔️
Возможно, он не хотел занимать место на панели задач, предпочитая отдельный ярлык на рабочем столе. В этом случае следует закрыть закрепленное приложение - щелкнуть значок правой кнопкой мыши, удерживая
Но допустим, что таких пунктов в меню не оказалось. Либо автор вопроса хочет запускать приложение из командной строки. Короче, этюдная задача с элементами матчасти :)
🤔 Рассуждая логически, раз приложение открывается на входящие сообщения, оно должно быть зарегистрировано для какого-то протокола. Найдем протокол - решим задачу.
1. Поищите
2. В самом низу откройте раздел для сопоставления приложений типам ссылок.
3. Найдите приложение глазами, ориентируясь на значок. (На странице есть фильтр, но только по протоколам, а его-то мы и не знаем :)
✅ В данном случае находится
• окно
• произвольный ярлык:
• командная строка:
Да, протокол
////
ℹ️ Протоколы регистрируются в реестре. Полный список протоколов Microsoft легко отобразить с помощью #PowerShell
Не все они будут открывать какое-то приложение. Но в большинстве случаев это сработает.
Читателям со стажем эта тема покажется знакомой. Я как-то рассказывал в канале про быстрый доступ к страницам Параметров. И там всё строится именно на протоколе
И в Пуске оно тоже не находится. Этот вопрос задал мне подписчик Андрей К в контексте приложения Сообщения оператора (Operator Messages). Оно показывает служебные SMS мобильного оператора на устройствах с поддержкой 4G/5G.
Как я понял, приложение само открывается для отображения входящих SMS. Но если его закрыть, то потом уже не открыть. Андрей упомянул, что приложение можно закрепить на панели задач. И для меня это уже выглядит решением ✔️
Возможно, он не хотел занимать место на панели задач, предпочитая отдельный ярлык на рабочем столе. В этом случае следует закрыть закрепленное приложение - щелкнуть значок правой кнопкой мыши, удерживая
Shift
и выбрать пункт "Создать ярлык" или "Отправить -> Рабочий стол" ✔️Но допустим, что таких пунктов в меню не оказалось. Либо автор вопроса хочет запускать приложение из командной строки. Короче, этюдная задача с элементами матчасти :)
🤔 Рассуждая логически, раз приложение открывается на входящие сообщения, оно должно быть зарегистрировано для какого-то протокола. Найдем протокол - решим задачу.
1. Поищите
protocol
в Параметрах и откройте страницу с приложениями по умолчанию. 2. В самом низу откройте раздел для сопоставления приложений типам ссылок.
3. Найдите приложение глазами, ориентируясь на значок. (На странице есть фильтр, но только по протоколам, а его-то мы и не знаем :)
✅ В данном случае находится
URL:ms-chat
. И этого достаточно для решения задачи! У вас это приложение вряд ли установлено, поэтому для наглядности я заменил протокол ms-chat:
на ms-calculator:
. Вот разные способы открытия:• окно
Win+R
: ms-calculator:
• произвольный ярлык:
explorer ms-calculator:
• командная строка:
start calculator:
Да, протокол
calculator:
там тоже есть :)////
ℹ️ Протоколы регистрируются в реестре. Полный список протоколов Microsoft легко отобразить с помощью #PowerShell
New-PSDrive -Name "HKCR" -PSProvider Registry -Root "HKEY_CLASSES_ROOT"
Get-Item HKCR:\ms-* | select name
Не все они будут открывать какое-то приложение. Но в большинстве случаев это сработает.
Читателям со стажем эта тема покажется знакомой. Я как-то рассказывал в канале про быстрый доступ к страницам Параметров. И там всё строится именно на протоколе
ms-settings
! ✌️⚙️ Как избавиться от предупреждения в проводнике при копировании файлов на диск, отформатированный в ext4
Этот вопрос задал в чате Юрий. Он переносил файлы на внешний диск с файловой системой ext4 и получал на каждый исполняемый файл такой запрос:
Вы действительно хотите переместить файл без его свойств?
Я сходу предложил использовать консольные средства. Например, в #PowerShell можно копировать файлы и папки командлетом
Однако Юрий не желал каждый раз лезть в консоль. Мол, он регулярно копирует файлы с локального диска на внешний. Что ж, для регулярных задач синхронизации файлов в Windows испокон веков есть прекрасная утилита командной строки robocopy! ☑️
Но и это Юрия не устроило. И сторонние файловые менеджеры тоже отметались :) Он оказался маководом и хотеламазинга просто копировать в проводнике. Он также сообщил, что нагуглил в качестве решения утилиту NTFS Stream Explorer. Но опять же, в ней требовались ручные действия перед копированием.
////
ℹ️ Здесь в самый раз подходила #классика блога Альтернативные потоки данных NTFS. Юрий нашел в ней твик реестра, но тот не помог. Тогда все-таки пришлось читать, вникать, и вскоре мы увидели примерно такую картину. Я сохранил смысл, но в качестве примера взял свой файл из папки Downloads и сократил вывод до сути.
Сразу прояснилось множество деталей:
1. Альтернативный поток NTFS пишет SmartScreen.
2. Исполняемый файл скачан в Microsoft Edge, что вытекает из п. 1 и проверяется чтением потока.
3. Потока с идентификатором зоны нет. Он уже удален либо запись отключена политикой ↓
4. Твик с политикой "Не хранить сведения о зоне..." бессилен против п. 1.
Тут школьники посоветуют "отключить SmartScreen". Причем в такой формулировке неочевидно, что конкретно отключать. Однако снижение уровня безопасности (особенно у маковода :) - это не наш путь.
////
Избавиться от предупреждения в проводнике можно без твиков / политик и отключений функций безопасности. Мы знаем, что при загрузке в любом браузере файлы получают поток с идентификатором зоны. Кроме того, в Microsoft Edge к исполняемым файлам свой поток пишет SmartScreen.
✅ Решение укладывается в одну команду. В примере потоки от SmartScreen и диспетчера вложений удаляются из всех файлов в папке "Загрузки" рекурсивно. После чего проводник уже не суетится при их копирование на ext4.
Это можно поставить в планировщик хоть ежечасно. В простом задании исполняемым файлом будет
Скрытие консольных окон я разбирал четыре года назад, и с тех пор ничего не изменилось. ✌️
Этот вопрос задал в чате Юрий. Он переносил файлы на внешний диск с файловой системой ext4 и получал на каждый исполняемый файл такой запрос:
Вы действительно хотите переместить файл без его свойств?
Я сходу предложил использовать консольные средства. Например, в #PowerShell можно копировать файлы и папки командлетом
Copy-Item
. И это сработало! ☑️Однако Юрий не желал каждый раз лезть в консоль. Мол, он регулярно копирует файлы с локального диска на внешний. Что ж, для регулярных задач синхронизации файлов в Windows испокон веков есть прекрасная утилита командной строки robocopy! ☑️
Но и это Юрия не устроило. И сторонние файловые менеджеры тоже отметались :) Он оказался маководом и хотел
////
ℹ️ Здесь в самый раз подходила #классика блога Альтернативные потоки данных NTFS. Юрий нашел в ней твик реестра, но тот не помог. Тогда все-таки пришлось читать, вникать, и вскоре мы увидели примерно такую картину. Я сохранил смысл, но в качестве примера взял свой файл из папки Downloads и сократил вывод до сути.
Get-Item -Path .\*keep*exe -Stream * |
Select-Object pschildname,stream
PSChildName Stream
----------- ------
KeePass-2.57-Setup.exe::$DATA :$DATA
KeePass-2.57-Setup.exe:SmartScreen SmartScreen
Сразу прояснилось множество деталей:
1. Альтернативный поток NTFS пишет SmartScreen.
2. Исполняемый файл скачан в Microsoft Edge, что вытекает из п. 1 и проверяется чтением потока.
3. Потока с идентификатором зоны нет. Он уже удален либо запись отключена политикой ↓
4. Твик с политикой "Не хранить сведения о зоне..." бессилен против п. 1.
Тут школьники посоветуют "отключить SmartScreen". Причем в такой формулировке неочевидно, что конкретно отключать. Однако снижение уровня безопасности (особенно у маковода :) - это не наш путь.
////
Избавиться от предупреждения в проводнике можно без твиков / политик и отключений функций безопасности. Мы знаем, что при загрузке в любом браузере файлы получают поток с идентификатором зоны. Кроме того, в Microsoft Edge к исполняемым файлам свой поток пишет SmartScreen.
✅ Решение укладывается в одну команду. В примере потоки от SmartScreen и диспетчера вложений удаляются из всех файлов в папке "Загрузки" рекурсивно. После чего проводник уже не суетится при их копирование на ext4.
Get-ChildItem -Path $env:USERPROFILE\downloads\ -File -Recurse | Remove-Item -Stream *SmartScreen*, *Zone.Identifier*
Это можно поставить в планировщик хоть ежечасно. В простом задании исполняемым файлом будет
powershell
, а аргументами-NoProfile -Ex Bypass -Command "Get-ChildItem -Path $env:USERPROFILE\downloads\ -File -Recurse | Remove-Item -Stream *SmartScreen*, *Zone.Identifier*"
Скрытие консольных окон я разбирал четыре года назад, и с тех пор ничего не изменилось. ✌️
🔐 О входе в учётную запись Microsoft без пароля
В конце прошлой недели все профильные ресурсы раструбили новость: отныне новые учётные записи Microsoft (MSA) будут по умолчанию беспарольными. Реакция сообщества была неблагосклонной. Как будто это что-то плохое 😎
Беспарольность воспринимается как небезопасный отказ от надёжных паролей. К этому примешивается недоверие (ненависть?) к учётной записи Microsoft. Слабое знание матчасти порождает дичь в некоторых новостях и комментариях к ним 🙄
На самом деле беспарольная MSA существует очень давно. И для потребителей - это самый простой, удобный и безопасный способ входа в аккаунт Microsoft!
🌐 При двухфакторной аутентификации в вебе или приложении вы:
1. Получаете на смартфоне уведомление.
2. Нажимаете двузначное число, которое видите на экране.
3. Подтверждаете вход ПИН-кодом или биометрией.
И это всё! В картинках тут. За последние три года я ни разу не применял одноразовый код для #2FA в MSA. Беспарольный процесс удобнее.
🔢 Входить с MSA в Windows с Hello, т.е. посредством ПИН-кода или биометрии, можно уже лет шесть. А сделать такой способ входа единственным - почти пять лет. До сих пор многие воспринимают ПИН-код как нечто менее безопасное в сравнении с паролем. Однако ПИН-код может быть таким же сложным как пароль, при этом он защищается TPM и не передаётся по сети. Вот я пишу в канале про это почти 8 лет назад :)
Я также разбирал нюансы беспарольного входа в Windows в блоге. И в связи с новостью у меня лишь два вопроса.
🔹 Можно ли будет создать беспарольную учётную запись из-под Windows? Сейчас это возможно только на мобильных ОС. Причина в статье блога↑
🔹Можно ли будет войти в локальную среду восстановления с ПИН-кодом? При загрузке с флешки пароль не требуется, но это неприемлемый способ для массового потребителя. Сейчас есть только обходной путь - 48-значный пароль восстановления BitLocker. Впрочем, теперь Microsoft его полностью легитимизировала, включив автоматическое шифрование по умолчанию. Такой вот ход конём 🐴
Думаю, что в этих двух аспектах ничего не изменится. В итоге тиражируемая новость практически "ни о чём". Слегка поменяется логика создания учётной записи Microsoft, да и только.
В оригинале же основная часть обращения Microsoft к клиентам была про ключи доступа. Что не новость, но посвежее беспарольного входа и тоже удобно на практике. И я напишу про них в ближайшее время. Тем более, что черновик записи уже был готов в качестве ответа на вопрос читателя. Не переключайте каналы ✌️
В конце прошлой недели все профильные ресурсы раструбили новость: отныне новые учётные записи Microsoft (MSA) будут по умолчанию беспарольными. Реакция сообщества была неблагосклонной. Как будто это что-то плохое 😎
Беспарольность воспринимается как небезопасный отказ от надёжных паролей. К этому примешивается недоверие (ненависть?) к учётной записи Microsoft. Слабое знание матчасти порождает дичь в некоторых новостях и комментариях к ним 🙄
На самом деле беспарольная MSA существует очень давно. И для потребителей - это самый простой, удобный и безопасный способ входа в аккаунт Microsoft!
🌐 При двухфакторной аутентификации в вебе или приложении вы:
1. Получаете на смартфоне уведомление.
2. Нажимаете двузначное число, которое видите на экране.
3. Подтверждаете вход ПИН-кодом или биометрией.
И это всё! В картинках тут. За последние три года я ни разу не применял одноразовый код для #2FA в MSA. Беспарольный процесс удобнее.
🔢 Входить с MSA в Windows с Hello, т.е. посредством ПИН-кода или биометрии, можно уже лет шесть. А сделать такой способ входа единственным - почти пять лет. До сих пор многие воспринимают ПИН-код как нечто менее безопасное в сравнении с паролем. Однако ПИН-код может быть таким же сложным как пароль, при этом он защищается TPM и не передаётся по сети. Вот я пишу в канале про это почти 8 лет назад :)
Я также разбирал нюансы беспарольного входа в Windows в блоге. И в связи с новостью у меня лишь два вопроса.
🔹 Можно ли будет создать беспарольную учётную запись из-под Windows? Сейчас это возможно только на мобильных ОС. Причина в статье блога↑
🔹Можно ли будет войти в локальную среду восстановления с ПИН-кодом? При загрузке с флешки пароль не требуется, но это неприемлемый способ для массового потребителя. Сейчас есть только обходной путь - 48-значный пароль восстановления BitLocker. Впрочем, теперь Microsoft его полностью легитимизировала, включив автоматическое шифрование по умолчанию. Такой вот ход конём 🐴
Думаю, что в этих двух аспектах ничего не изменится. В итоге тиражируемая новость практически "ни о чём". Слегка поменяется логика создания учётной записи Microsoft, да и только.
В оригинале же основная часть обращения Microsoft к клиентам была про ключи доступа. Что не новость, но посвежее беспарольного входа и тоже удобно на практике. И я напишу про них в ближайшее время. Тем более, что черновик записи уже был готов в качестве ответа на вопрос читателя. Не переключайте каналы ✌️
☁️ О папке
От создателей папки C:\inetpub :) Но это - другая история!
Когда я впервые обнаружил у себя эту папку, был немало удивлен. Внутри оказалась только пустая папка
💬 К исследованию вопроса я вернулся значительно позже, когда Alexandr Petnitsky в чате дал наводку. Якобы, папка появляется после перехода на установку OneDrive в Program Files. На паре моих систем все сходилось. Но я решил проверить на виртуалке. Поэтому сегодняшний пост публикуется в рубрике "доставка пруфов".
Для установки в Program Files достаточно одной команды. Однако после этого папка не появилась. И перезагрузка системы ничего не изменила 🤷♂️ Что ж, придется отлавливать всерьез. В блоге я рассказывал (причем на примере OneDrive!), как отследить запись запись в реестр с помощью аудита. Его можно также применять к объектам файловой системы (событие 4663). Но есть нюанс ©
⚙️ Поскольку папки нет, аудит приходится настраивать на уровне родительской папки. Соответственно, регистрируются все события доступа к дочерним объектам папки
За несколько дней папка так и не появилась. И тогда я вспомнил про Дело об окнах командной строки при входе в систему. Там OneDrive для самообслуживания время от времени батники запускал. Я решил подождать и выключил ВМ на несколько дней.
✅ В итоге и папка создалась, и принадлежащий OneDrive процесс
Для доступа в папку нужны права администратора, системы или TrustedInstaller, а размещенные в ней файлы не синхронизируются. И на том спасибо ✌️
C:\Windows\System32\%userprofile%
От создателей папки C:\inetpub :) Но это - другая история!
Когда я впервые обнаружил у себя эту папку, был немало удивлен. Внутри оказалась только пустая папка
OneDrive
. Идея понятна: %userprofile%\OneDrive
- это стандартное расположение облачной папки. Но как она оказалась в системной? Подумал, что накосячили либо в Microsoft, либо я сам со скриптами. Однако я давно не использую батники, а в PowerShell переменная для пользовательского профиля другая: $env:userprofile
.💬 К исследованию вопроса я вернулся значительно позже, когда Alexandr Petnitsky в чате дал наводку. Якобы, папка появляется после перехода на установку OneDrive в Program Files. На паре моих систем все сходилось. Но я решил проверить на виртуалке. Поэтому сегодняшний пост публикуется в рубрике "доставка пруфов".
Для установки в Program Files достаточно одной команды. Однако после этого папка не появилась. И перезагрузка системы ничего не изменила 🤷♂️ Что ж, придется отлавливать всерьез. В блоге я рассказывал (причем на примере OneDrive!), как отследить запись запись в реестр с помощью аудита. Его можно также применять к объектам файловой системы (событие 4663). Но есть нюанс ©
⚙️ Поскольку папки нет, аудит приходится настраивать на уровне родительской папки. Соответственно, регистрируются все события доступа к дочерним объектам папки
system32
. И один только антивирус может легко заполонить журнал. Поэтому для длительного отслеживания может потребоваться увеличить размер журнала (по умолчанию ~20Mb). Также учитывайте, что аудит объектов файловой системы может негативно повлиять на производительность.За несколько дней папка так и не появилась. И тогда я вспомнил про Дело об окнах командной строки при входе в систему. Там OneDrive для самообслуживания время от времени батники запускал. Я решил подождать и выключил ВМ на несколько дней.
✅ В итоге и папка создалась, и принадлежащий OneDrive процесс
FileSyncConfig.exe
попался в сети аудита. Причем на картинке видно, что доступ туда он осуществляет через день после создания папки. То есть это не разовая акция.Для доступа в папку нужны права администратора, системы или TrustedInstaller, а размещенные в ней файлы не синхронизируются. И на том спасибо ✌️
Опрос: используете ли вы ключи доступа (passkeys), хранящиеся на компьютере, смартфоне или планшете, для входа в аккаунты Google, Microsoft, Samsung и других компаний? Этот вопрос НЕ про ключи на USB-токенах.
Final Results
20%
Да, есть ключи для 1-3 аккаунтов
10%
Да, есть ключи для 4 и более аккаунтов
9%
Не могу сказать с уверенностью
31%
Нет, и первый раз слышу
27%
Нет, и мне это не нужно
4%
Моего варианта тут нет
▶️ Тонкая настройка защитника Windows с помошью PowerShell
В чате участник
Первая команда показывает обнаруженные угрозы, а вторая - исключенные из мониторинга пути. Выяснилось, что исключена папка
👉 Вообще, положено добавлять в исключения конкретную папку. И защитнику надо указывать на нее явно, нежели на родительскую папку. В графическом интерфейсе иначе и не выйдет - что выбрали, то и исключили.
ℹ️ В #PowerShell вы можете получить сведения о параметрах защитника командлетом Get-MpPreference. И есть еще два для установки параметров:
• Add-MpPreference добавляет значения к существующему набору настроек.
• Set-MpPreference задает свой набор настроек, перезаписывая текущий.
Оба поддерживают подстановочные символы
Это исключает только папки одного уровня вложенности. Два уровня -
////
В рамках того же обсуждения
Мне кажется, что раньше в графическом интерфейсе были базовые настройки для действий в зависимости от серьезности угрозы. Возможно, их выпилили. Но это неважно, ведь есть PowerShell ♥️
Текущие настройки можно посмотреть так:
Ноль означает действие по умолчанию в зависимости от предпочтений Microsoft, заданных сигнатурами. Это написано в справке
Там же перечислены числовые значения для семи различных действий защитника. Например, 2 - карантин, 3 - удаление, 9 - игнорирование. Это помогает понять текущий уровень настроек.
Для каждого уровня серьезности угроз вы можете задать только эти три действия↑ (остальные применяются к конкретным экземплярам по их ИД). Например, вы хотите отправлять самые серьёзные угрозы в карантин вместо удаления:
////
Не стоит воздевать руки к небу, что конечным пользователям не дали тонко настроить компонент в графическом интерфейсе. Когда касается безопасности, я только за! Потому что для неопытных людей это кончается стрельбой в ногу, а то и в голову.
Консольные средства ставят хоть какой-то барьер от самострела. Заметьте, что здесь первый человек разрешал некий патч или кряк. А они традиционно служат самым распространенным транспортом для малвари. Второй же скорее интересовался с целью ослабить дефолтные настройки, нежели закрутить гайки ;)
В качестве завершающего аккорда здесь идеально подходит #классика блога О роли головного мозга в защите операционной системы ✌️
В чате участник
Demon
спросил, почему защитник Windows удаляет файлы из папки, добавленной в исключения. Я запросил вывод PowerShell:Get-MpThreat
Get-MpPreference | ft ExclusionPath
Первая команда показывает обнаруженные угрозы, а вторая - исключенные из мониторинга пути. Выяснилось, что исключена папка
E:\Games
, но удаленный файл лежал в одной из ее подпапок. Защитник определил его как HackTool:Win32/Crack
.👉 Вообще, положено добавлять в исключения конкретную папку. И защитнику надо указывать на нее явно, нежели на родительскую папку. В графическом интерфейсе иначе и не выйдет - что выбрали, то и исключили.
ℹ️ В #PowerShell вы можете получить сведения о параметрах защитника командлетом Get-MpPreference. И есть еще два для установки параметров:
• Add-MpPreference добавляет значения к существующему набору настроек.
• Set-MpPreference задает свой набор настроек, перезаписывая текущий.
Оба поддерживают подстановочные символы
*
и ?
. Но есть нюанс © У вас не получится добавить в исключения все дочерние папки рекурсивно так: Add-MpPreference -ExclusionPath E:\Games\*
Это исключает только папки одного уровня вложенности. Два уровня -
E:\Games\*\*
и т.д. Поддерживается максимум 6 подстановочных символов. Подробнее смотрите в документации с примерами.////
В рамках того же обсуждения
Piter Pen
посетовал, что защитник непоследовательно реагирует на различные угрозы. Одни отправляет в карантин, другие удаляет 🤷♂️Мне кажется, что раньше в графическом интерфейсе были базовые настройки для действий в зависимости от серьезности угрозы. Возможно, их выпилили. Но это неважно, ведь есть PowerShell ♥️
Текущие настройки можно посмотреть так:
Get-MpPreference | Select-Object *action
HighThreatDefaultAction : 0
LowThreatDefaultAction : 0
ModerateThreatDefaultAction : 0
SevereThreatDefaultAction : 0
UnknownThreatDefaultAction : 0
Ноль означает действие по умолчанию в зависимости от предпочтений Microsoft, заданных сигнатурами. Это написано в справке
Set-MpPreference
. Там же перечислены числовые значения для семи различных действий защитника. Например, 2 - карантин, 3 - удаление, 9 - игнорирование. Это помогает понять текущий уровень настроек.
Для каждого уровня серьезности угроз вы можете задать только эти три действия↑ (остальные применяются к конкретным экземплярам по их ИД). Например, вы хотите отправлять самые серьёзные угрозы в карантин вместо удаления:
Set-MpPreference -SevereThreatDefaultAction Quarantine
////
Не стоит воздевать руки к небу, что конечным пользователям не дали тонко настроить компонент в графическом интерфейсе. Когда касается безопасности, я только за! Потому что для неопытных людей это кончается стрельбой в ногу, а то и в голову.
Консольные средства ставят хоть какой-то барьер от самострела. Заметьте, что здесь первый человек разрешал некий патч или кряк. А они традиционно служат самым распространенным транспортом для малвари. Второй же скорее интересовался с целью ослабить дефолтные настройки, нежели закрутить гайки ;)
В качестве завершающего аккорда здесь идеально подходит #классика блога О роли головного мозга в защите операционной системы ✌️
🔐 Новое в блоге: О беспарольной аутентификации с ключами доступа
В начале мая в одном из блогов Microsoft вышла программная статья Pushing passkeys forward. Из неё в новости попало лишь объявление о том, что учётные записи Microsoft (MSA) по умолчанию будут создаваться беспарольными. Это я уже разобрал в канале.
🔑 При этом статья Microsoft в целом была посвящена ключам доступа (passkeys). Это относительно новый способ беспарольной аутентификации. Его активно продвигают лидеры ИТ-индустрии – Microsoft и Google, что неудивительно при их огромной пользовательской базе.
Про беспарольный вход в аккаунты этих компаний я рассказывал неоднократно: раз, два, три. Но там не было речи о ключах доступа. Теперь дошла очередь и до них.
📊 Между тем, опрос в канале показал, что лишь 30% читателей пользуются ключами. Столько же первый раз о них слышат! Еще 27% уверены, что им это не нужно (но не факт, что все они чётко понимают принцип работы и преимущества технологии :)
Ключи доступа привязаны к устройствам, на которых они создаются и хранятся. Каждое устройство (например, компьютер под управлением Windows) можно сравнить с сейфом. В нём лежат ключи к различным аккаунтам...
➡️ Читайте дальше в блоге: https://www.outsidethebox.ms/22646/#go
В начале мая в одном из блогов Microsoft вышла программная статья Pushing passkeys forward. Из неё в новости попало лишь объявление о том, что учётные записи Microsoft (MSA) по умолчанию будут создаваться беспарольными. Это я уже разобрал в канале.
🔑 При этом статья Microsoft в целом была посвящена ключам доступа (passkeys). Это относительно новый способ беспарольной аутентификации. Его активно продвигают лидеры ИТ-индустрии – Microsoft и Google, что неудивительно при их огромной пользовательской базе.
Про беспарольный вход в аккаунты этих компаний я рассказывал неоднократно: раз, два, три. Но там не было речи о ключах доступа. Теперь дошла очередь и до них.
📊 Между тем, опрос в канале показал, что лишь 30% читателей пользуются ключами. Столько же первый раз о них слышат! Еще 27% уверены, что им это не нужно (но не факт, что все они чётко понимают принцип работы и преимущества технологии :)
Ключи доступа привязаны к устройствам, на которых они создаются и хранятся. Каждое устройство (например, компьютер под управлением Windows) можно сравнить с сейфом. В нём лежат ключи к различным аккаунтам...
➡️ Читайте дальше в блоге: https://www.outsidethebox.ms/22646/#go
🛡️ Автоматическое определение установщиков в UAC
С момента появления в Windows Vista контроль учетных записей эволюционировал с каждой новой версией ОС. Сегодня в фокусе малоизвестное, но любопытное нововведение времен Windows 10.
ℹ️ Исполняемые файлы должны содержать манифест, где указаны требования к правам пользователя на запуск. Если там прописано
Манифест с
👉 Именно с установщиками и связано изменение UAC в Windows 10. Запрос появляется, когда манифест не содержит требования к правам, а имя исполняемого файла содержит:
Это работает только с 32-разрядными файлами, причем имя файла - не единственный триггер. Все критерии эвристики описаны в документации. Ссылка ведет на веб-архив 2017 года, потому что из текущей версии статьи это уже выпилено 🙄 В Windows 11 работает, разумеется.
📝 Заметка на полях: в обоих документах заявляют возможность смены часового пояса без прав администратора. Что в 2025 году нам выдают за новую фичу :)
Возвращаясь к UAC, это изменение идеально подходило бы для Windows 7. Для Vista жести и так хватало, а в 2015 году 64-разрядные программы уже пошли в массы. Впрочем, 32-разрядных и сейчас еще в немало. Легаси полно в корпоративной среде, ради которой это все и затевалось.
На видео фича в действии. Я взял первую попавшуюся 32-разрядную утилиту NirSoft, в которой манифест не диктует права на запуск ✌
С момента появления в Windows Vista контроль учетных записей эволюционировал с каждой новой версией ОС. Сегодня в фокусе малоизвестное, но любопытное нововведение времен Windows 10.
ℹ️ Исполняемые файлы должны содержать манифест, где указаны требования к правам пользователя на запуск. Если там прописано
requireAdministrator
, вы не запустите программу без полных прав. Манифест с
highestAvailable
породит запрос UAC у администраторов, но не у ограниченных пользователей. Однако такую программу можно запустить с обычными правами методом RunAsInvoker. #Классика блога в помощь: Зачем программам нужны установщики.👉 Именно с установщиками и связано изменение UAC в Windows 10. Запрос появляется, когда манифест не содержит требования к правам, а имя исполняемого файла содержит:
setup
, install
, update
, patch
!Это работает только с 32-разрядными файлами, причем имя файла - не единственный триггер. Все критерии эвристики описаны в документации. Ссылка ведет на веб-архив 2017 года, потому что из текущей версии статьи это уже выпилено 🙄 В Windows 11 работает, разумеется.
📝 Заметка на полях: в обоих документах заявляют возможность смены часового пояса без прав администратора. Что в 2025 году нам выдают за новую фичу :)
Возвращаясь к UAC, это изменение идеально подходило бы для Windows 7. Для Vista жести и так хватало, а в 2015 году 64-разрядные программы уже пошли в массы. Впрочем, 32-разрядных и сейчас еще в немало. Легаси полно в корпоративной среде, ради которой это все и затевалось.
На видео фича в действии. Я взял первую попавшуюся 32-разрядную утилиту NirSoft, в которой манифест не диктует права на запуск ✌
🧩 Викторина: что делает сочетание клавиш Ctrl+Esc в Windows?
Anonymous Quiz
7%
То же, что и просто Esc (закрывает диалоговое окно)
3%
Положительно отвечает на вопрос в диалоговом окне (Да/ОК)
13%
Открывает мини-версию диспетчера задач (полная - Ctrl+Shift+Esc)
3%
Открывает свойства выделенного файла в проводнике
56%
Открывает меню Пуск
18%
Ничего не делает
☁️ Новое в блоге: Яндекс Диск 4.0 - нюансы установки и синхронизации
Время от времени я пишу про OneDrive - это мой единственный облачный клиент. Но Яндекс Диск у читателей канала более популярен 📊
Его новая версия 4.0 вышла 22 мая. Я бы не стал про неё писать, если бы не суть нововведений. Этот пост куда больше про Windows, чем про Яндекс :)
Опытному глазу уже из сравнения версий 3.0 и 4.0 видно, что теперь взаимодействие с облачными файлами Яндекса будет мало чем отличаться от OneDrive!
В чате пара человек, едва ознакомившись с новой версией, сходу отложили кирпичи 🧱 Мои рекомендации устранили боль либо уменьшили ее. Я собрал в статью эти советы по установке и использованию Диска:
📂 Настройте расположение папки с облачными файлами
🛡 Установите Диск в папку Program Files
🗃 Освойте файлы по запросу
👥 Настройте работу в нескольких аккаунтах Яндекса
Также в статье есть решения пары проблем.
➡️ https://www.outsidethebox.ms/22664
Время от времени я пишу про OneDrive - это мой единственный облачный клиент. Но Яндекс Диск у читателей канала более популярен 📊
Его новая версия 4.0 вышла 22 мая. Я бы не стал про неё писать, если бы не суть нововведений. Этот пост куда больше про Windows, чем про Яндекс :)
Опытному глазу уже из сравнения версий 3.0 и 4.0 видно, что теперь взаимодействие с облачными файлами Яндекса будет мало чем отличаться от OneDrive!
В чате пара человек, едва ознакомившись с новой версией, сходу отложили кирпичи 🧱 Мои рекомендации устранили боль либо уменьшили ее. Я собрал в статью эти советы по установке и использованию Диска:
📂 Настройте расположение папки с облачными файлами
🛡 Установите Диск в папку Program Files
🗃 Освойте файлы по запросу
👥 Настройте работу в нескольких аккаунтах Яндекса
Также в статье есть решения пары проблем.
➡️ https://www.outsidethebox.ms/22664
Опрос: пользуетесь ли вы безопасным извлечением USB-устройств в Windows в 2025 году?
Final Results
45%
Да, всегда
15%
Да, часто
16%
Да, иногда
20%
Нет, жизнь слишком коротка, чтобы безопасно извлекать USB-устройства :)
1%
Нет, первый раз слышу об этой функции
2%
Моего варианта тут нет
▶️ О фильтрах по имени в командлетах
Тут Павел Нагаев "решил упороться в шортсы" с ошибками новичков в #PowerShell (начало серии здесь). Там не совсем ошибки, а скорее неэффективные конструкции, которые можно найти у всех новичков. Потому что они так нагуглили или теперь ChatGPT им так написал.
В первом же эпизоде об эффективном использовании фильтров разбирается ошибка, которая фигурировала в статье моего блога про удаление магазинных приложений. Вот так из хранилища удалялись все приложения, кроме перечисленных:
Вообще, команда в таком виде попала в статью, будучи предложенной в комментариях читателем. Я скопировал и вставил, но ответственности с себя не снимаю :)
📢 Именно Павел подсказал мне, что код можно существенно сократить, задействовав вместо нескольких логических операторов
Намного проще! Также замечу, что у
Ещё проще!
////
В своем видео Павел использовал для примера выборку служб командлетом
И тут настала моя очередь доставлять ему про неэффективность 😎 Если уж браться рассказывать про эффективные фильтры, надо начинать со встроенных фильтров командлетов
Это - тоже выборка по первым буквам названий служб. Фокус в том, что по имени можно фильтровать без передачи по конвейеру на
🤝 Павел превратил мой фидбэк в короткое видео! https://www.youtube.com/shorts/9BUdqYLagnk
Отмечу, что параметр необязательно должен называться
////
В PowerShell очень много командлетов
Не все они располагают к фильтру по имени, но тут главное - знать приём ✌️
Get-
Тут Павел Нагаев "решил упороться в шортсы" с ошибками новичков в #PowerShell (начало серии здесь). Там не совсем ошибки, а скорее неэффективные конструкции, которые можно найти у всех новичков. Потому что они так нагуглили или теперь ChatGPT им так написал.
В первом же эпизоде об эффективном использовании фильтров разбирается ошибка, которая фигурировала в статье моего блога про удаление магазинных приложений. Вот так из хранилища удалялись все приложения, кроме перечисленных:
Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -notlike '*store*' -and $_.DisplayName -notlike '*calc*' -and $_.DisplayName -notlike '*notepad*'} | Remove-AppxProvisionedPackage -Online
Вообще, команда в таком виде попала в статью, будучи предложенной в комментариях читателем. Я скопировал и вставил, но ответственности с себя не снимаю :)
📢 Именно Павел подсказал мне, что код можно существенно сократить, задействовав вместо нескольких логических операторов
-and
один оператор -notmatch
и регулярное выражение:Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -notmatch 'store|calc|notepad'} | Remove-AppxProvisionedPackage -Online
Намного проще! Также замечу, что у
Where-Object
уже лет дцать поддерживается такой синтаксис: Where-Object DisplayName -notmatch 'store|calc|notepad'
Ещё проще!
////
В своем видео Павел использовал для примера выборку служб командлетом
Get-Service
по первой букве названия службы. Get-Service | Where-Object {$_.Name -match "^w|^t|^f"}
И тут настала моя очередь доставлять ему про неэффективность 😎 Если уж браться рассказывать про эффективные фильтры, надо начинать со встроенных фильтров командлетов
Get-
!Get-Service -Name f*,t*,w*
Это - тоже выборка по первым буквам названий служб. Фокус в том, что по имени можно фильтровать без передачи по конвейеру на
Where-Object
. 🤝 Павел превратил мой фидбэк в короткое видео! https://www.youtube.com/shorts/9BUdqYLagnk
Отмечу, что параметр необязательно должен называться
-Name
. Недавно я показывал в канале анализ запланированных заданий. Вот пример с -TaskName
:Get-ScheduledTask -TaskName devi*,sync*
////
В PowerShell очень много командлетов
Get-
:Get-Command -Name Get* -CommandType Cmdlet
Не все они располагают к фильтру по имени, но тут главное - знать приём ✌️
🕒 Как предотвратить автоматическую перезагрузку после установки обновлений в Windows 11
Опубликованное в канале Расследование: кто перезагрузил Windows завершалось такими словами:
А в Windows 11 уже нет поддерживаемого способа предотвратить форсированный перезапуск после установки обновлений. Единственный обходной путь - ручное планирование перезагрузки, что позволяет отложить ее максимум на неделю.
С тех пор несколько человек доставили еще один обходной путь, который позволяет откладывать перезагрузку "бесконечно" долго. Беру в кавычки, потому что нам не дано протестировать бесконечность :)
👉 Суть способа: регулярное изменение периода активности с помощью запланированного задания. Windows не перезагружает систему в активные часы.
Это любопытный пример ситуации, когда поддерживаемыми способами система вводится в неподдерживаемое состояние. Поэтому в конце поста классическая и горячо любимая картинка 😎
Поскольку настройки периода активности задаются в реестре, скрипт несложный. Берем текущее время, добавляем к нему 18 часов (максимальный диапазон) и устанавливаем полученные значения соответственно для начала и конца периода активности. Примечательно, что параметры хранятся в разделе HKLM, но группе "Пользователи" запись туда разрешена.
▶️ Подписчик Алексей Батищев выложил на GitHub скрипт #PowerShell с установщиком и VBS (для скрытия консольных окон).
В установщик имеет смысл дописать запуск задания по факту добавления в планировщик. А в самом задании прописать -StartWhenAvailable (немедленный запуск после пропуска) и поменять частоту запусков с получаса до 12 часов.
////
Публикация не означает рекомендации или призыва к действию. Сам я предпочитаю не работать с известными уязвимостями. Поэтому доверяю перезагрузку автоматике, при необходимости задавая дату и время перезапуска вручную ✌️
Опубликованное в канале Расследование: кто перезагрузил Windows завершалось такими словами:
А в Windows 11 уже нет поддерживаемого способа предотвратить форсированный перезапуск после установки обновлений. Единственный обходной путь - ручное планирование перезагрузки, что позволяет отложить ее максимум на неделю.
С тех пор несколько человек доставили еще один обходной путь, который позволяет откладывать перезагрузку "бесконечно" долго. Беру в кавычки, потому что нам не дано протестировать бесконечность :)
👉 Суть способа: регулярное изменение периода активности с помощью запланированного задания. Windows не перезагружает систему в активные часы.
Это любопытный пример ситуации, когда поддерживаемыми способами система вводится в неподдерживаемое состояние. Поэтому в конце поста классическая и горячо любимая картинка 😎
Поскольку настройки периода активности задаются в реестре, скрипт несложный. Берем текущее время, добавляем к нему 18 часов (максимальный диапазон) и устанавливаем полученные значения соответственно для начала и конца периода активности. Примечательно, что параметры хранятся в разделе HKLM, но группе "Пользователи" запись туда разрешена.
▶️ Подписчик Алексей Батищев выложил на GitHub скрипт #PowerShell с установщиком и VBS (для скрытия консольных окон).
В установщик имеет смысл дописать запуск задания по факту добавления в планировщик. А в самом задании прописать -StartWhenAvailable (немедленный запуск после пропуска) и поменять частоту запусков с получаса до 12 часов.
////
Публикация не означает рекомендации или призыва к действию. Сам я предпочитаю не работать с известными уязвимостями. Поэтому доверяю перезагрузку автоматике, при необходимости задавая дату и время перезапуска вручную ✌️
Опрос: какое расположение сканера отпечатков пальцев на смартфоне для вас самое удобное? Вне зависимости от нынешнего телефона и предложений на рынке сейчас.
Anonymous Poll
31%
Спереди
24%
Сбоку
16%
Сзади
3%
Не ощущаю разницы
8%
Ощущаю разницу, но нет однозначного фаворита
15%
Не пользуюсь сканером отпечатков
2%
Моего варианта тут нет
⛈ Наглядно: почему Windows Backup - это не бэкап
На прошлой неделе на Reddit всплыл прекрасный пост, который растиражировали все профильные новостные ресурсы.
ТС собрал данные со всех старых дисков и залил их в облако OneDrive, чтобы потом перенести на новый большой диск. Но дальше что-то пошло не так, и его аккаунт заблокировали. В результате он лишился всего нажитого непосильным трудом за 30 лет 🤷♂️ В посте невыносимые страдания и полный игнор со стороны Microsoft.
Начать хотелось бы с обвинений жертвы 😎 Он сам устроил себе ситуацию "данные без бэкапа и без гарантии доступа". А для блокировки аккаунта может быть достаточно одной пиратской программы или одной фотографии своего голого младенца.
Но главный злодей здесь, конечно, Microsoft 😈 Компания без зазрения совести не просто рекламирует, но агрессивно проталкивает потребителям свое облачное хранилище как единственное решение для резервного копирования файлов. История вопроса в блоге: раз, два, три.
Разумеется, при этом нигде не обозначается риск потери доступа к аккаунту. И он не иллюзорный.
🕓 Четыре года назад, комментируя перенос истории файлов на задворки устаревшей панели управления, я писал в этом канале:
Я задействую OneDrive на всех устройствах, но отрицаю его в качестве единственного бэкапа. При использовании клиента в Windows двусторонняя синхронизация может привести к потере данных при удалении с хоста. Да, это компенсируется историей версий и корзиной на 30 дней с предупреждениями. Но у нас нет полного контроля над файлами в облаке. Представьте блокировку аккаунта!
За компанию представьте блокировку свой учетной записи Google, Яндекс, Mailru, Telegram или любого другого облачного сервиса, где у вас лежит единственная копия данных. Сохраните важные файлы локально прямо сейчас!
Да, облачный бэкап лучше, чем полное отсутствие резервных копий. Но только файлы в облаке уже не ваши ✌️
На прошлой неделе на Reddit всплыл прекрасный пост, который растиражировали все профильные новостные ресурсы.
ТС собрал данные со всех старых дисков и залил их в облако OneDrive, чтобы потом перенести на новый большой диск. Но дальше что-то пошло не так, и его аккаунт заблокировали. В результате он лишился всего нажитого непосильным трудом за 30 лет 🤷♂️ В посте невыносимые страдания и полный игнор со стороны Microsoft.
Начать хотелось бы с обвинений жертвы 😎 Он сам устроил себе ситуацию "данные без бэкапа и без гарантии доступа". А для блокировки аккаунта может быть достаточно одной пиратской программы или одной фотографии своего голого младенца.
Но главный злодей здесь, конечно, Microsoft 😈 Компания без зазрения совести не просто рекламирует, но агрессивно проталкивает потребителям свое облачное хранилище как единственное решение для резервного копирования файлов. История вопроса в блоге: раз, два, три.
Разумеется, при этом нигде не обозначается риск потери доступа к аккаунту. И он не иллюзорный.
🕓 Четыре года назад, комментируя перенос истории файлов на задворки устаревшей панели управления, я писал в этом канале:
Я задействую OneDrive на всех устройствах, но отрицаю его в качестве единственного бэкапа. При использовании клиента в Windows двусторонняя синхронизация может привести к потере данных при удалении с хоста. Да, это компенсируется историей версий и корзиной на 30 дней с предупреждениями. Но у нас нет полного контроля над файлами в облаке. Представьте блокировку аккаунта!
За компанию представьте блокировку свой учетной записи Google, Яндекс, Mailru, Telegram или любого другого облачного сервиса, где у вас лежит единственная копия данных. Сохраните важные файлы локально прямо сейчас!
Да, облачный бэкап лучше, чем полное отсутствие резервных копий. Но только файлы в облаке уже не ваши ✌️
😎 PowerShell vs. CMD: запуск приложений с разным окружением
У моей команды есть два бизнес-приложения, которыми люди пользуются каждый день. При этом различные версии приложений нужно регулярно запускать в разных средах тестирования, создавая необходимое окружение при старте.
⌛️ Исторически они пользовались для запуска набором батников (пакетных файлов с расширением
Я бы тоже не осилил, поэтому переписал все на #PowerShell :) Но батники для вызова скрипта оставил. Иначе у пользователя скрипт скорее не запустится, чем запустится 🤷♂️
Недавно в команду пришёл новый мальчик, попользовался скриптами и вскорости представил нам свое решение проблемы. Приложение-лончер с графическим интерфейсом, написанное на Java! 🌺
Оно действительно доставило преимущества в юзабилити. Так, можно указать папку, где установлены различные версии приложений, и выбирать нужную из раскрывающегося списка.
Я заинтересовался технической реализацией смены окружения, и молодой человек с готовностью продемонстрировал содержимое папкибатники, которые он написал на основе моих скриптов PowerShell и вызывает из Java-приложения 😂
Выбор победителя в этой схватке #powershellvscmd я оставляю вам ✌️
У моей команды есть два бизнес-приложения, которыми люди пользуются каждый день. При этом различные версии приложений нужно регулярно запускать в разных средах тестирования, создавая необходимое окружение при старте.
⌛️ Исторически они пользовались для запуска набором батников (пакетных файлов с расширением
.bat
), которые им написал добрый человек. Но почему-то лишь для одного приложения. Может, для второго не попросили, либо автор не осилил обновление на лету INI-файла с конфигурацией.Я бы тоже не осилил, поэтому переписал все на #PowerShell :) Но батники для вызова скрипта оставил. Иначе у пользователя скрипт скорее не запустится, чем запустится 🤷♂️
powershell.exe -NoProfile -ExecutionPolicy Bypass -File script.ps1
Недавно в команду пришёл новый мальчик, попользовался скриптами и вскорости представил нам свое решение проблемы. Приложение-лончер с графическим интерфейсом, написанное на Java! 🌺
Оно действительно доставило преимущества в юзабилити. Так, можно указать папку, где установлены различные версии приложений, и выбирать нужную из раскрывающегося списка.
Я заинтересовался технической реализацией смены окружения, и молодой человек с готовностью продемонстрировал содержимое папки
resources
. А в ней лежат Выбор победителя в этой схватке #powershellvscmd я оставляю вам ✌️
🔃 Об увеличении и уменьшении размера обновлений Windows 11
Недавно в чат вбросили страшную цифру - размер майского накопительного обновления KB5058411 для Windows 11 24H2 составил 4.3 GB. Это только если скачивать из каталога Microsoft Update (MU), нежели через центр обновления Windows.
Июньское обновление KB5063060 похудело до 3 GB, но всё равно значительно тяжелее апрельского KB5055523, чей размер составлял 1.3 GB.
Я поковырялся немного и предлагаю вам свой разбор ситуации. Но сначала немного теории.
🔢 Состав накопительного обновления
У современных обновлений ОС [до сих пор было] три составляющих.
1️⃣ Чекпойнт служит фундаментом для ежемесячных обновлений начиная с 24H2. Если ОС прошла хоть один цикл обновления, это исправление уже установлено. Но когда вы скачиваете из каталога MU, чекпойнт прилагается в качестве отдельного MSU-файла. В июне 2025 года - это обновление KB5043080, выпущенное в сентябре 2024 года (MSU: 509 MB).
2️⃣ Сервисный стек (SSU) необходим для установки обновлений и обслуживания ОС. Обычно, пакет поставляется в комплекте с ежемесячным обновлением системных файлов. Но может выходить и отдельно, вне очереди (например, KB5061977). Удалению не подлежит.
3️⃣ Накопительное обновление системных файлов (LCU).
Пункты 2 и 3 образуют новейшее накопительное обновление. В каталоге MU они представлены в едином MSU-файле.
📃 Списки обновляемых файлов
В конце статьи базы знаний с описанием обновления есть ссылки на файлы CSV со списками файлов и их несжатыми размерами, раздельно для LCU и SSU. В сервисном стеке около 160 файлов, ими можно пренебречь. В LCU картина такая:
KB5055523 (2025-04): 19992 файла объёмом 6.19 GB
KB5058411 (2025-05): 21273 файла объёмом 6.51 GB
Из этих данных увеличение MSU на 3 GB не вытекает 🤷♂️ В скобках замечу, что обновляется около 20% системных файлов. Количество файлов в папке Windows показывает утилита diskusage.
🤐 Реальное содержимое обновлений
Пришлось скачать MSU и открыть их архиватором. Сразу многое прояснилось! На картинке слева показано апрельское обновление, справа - майское.
В мае добавилось множество пакетов MSIX. Их назначение можно угадать по манифесту внутри. Два первых попавшихся регистрируют такие расширения:
Явно что-то связанное с искусственным интеллектом. Действительно, в описании превью майского обновления есть нововведения, связанные с ИИ. Версии компонентов совпадают с MSIX.
////
Осталось выяснить, почему июньское обновление вдруг стало легче майского на 1.3 GB. Посмотрите ещё раз на картинку, обращая внимание на размер пакетов MSIX. В майском обновлении хорошо просматриваются пары файлов с разницей не более чем несколько сотен байт. Внутри различия сводятся к аббревиатурам STX и LNL. Возможно, разные модели ML.
В июньском таких тяжелых "дубликатов" поменьше. Дальше я не копал. Но такой вброс в MSU множества MSIX и волатильность их списка не выглядят хорошо спланированным изменением. Опять же, все эти добавленные файлы не отражены в документации к обновлению 🙄
////
Разумеется, при установке обновлений из Windows Update скачивается куда меньший объём данных. Не нужно тащить чекпойнт, а компоненты для ПК Copilot+ предлагаются лишь на определённом "железе".
Но есть ещё автономные компьютеры в организациях и системы с порушенными службами WU дома. Для них придётся скачивать тяжёлые MSU со всеми инновационными пакетами ИИ ✌️
Недавно в чат вбросили страшную цифру - размер майского накопительного обновления KB5058411 для Windows 11 24H2 составил 4.3 GB. Это только если скачивать из каталога Microsoft Update (MU), нежели через центр обновления Windows.
Июньское обновление KB5063060 похудело до 3 GB, но всё равно значительно тяжелее апрельского KB5055523, чей размер составлял 1.3 GB.
Я поковырялся немного и предлагаю вам свой разбор ситуации. Но сначала немного теории.
🔢 Состав накопительного обновления
У современных обновлений ОС [до сих пор было] три составляющих.
1️⃣ Чекпойнт служит фундаментом для ежемесячных обновлений начиная с 24H2. Если ОС прошла хоть один цикл обновления, это исправление уже установлено. Но когда вы скачиваете из каталога MU, чекпойнт прилагается в качестве отдельного MSU-файла. В июне 2025 года - это обновление KB5043080, выпущенное в сентябре 2024 года (MSU: 509 MB).
2️⃣ Сервисный стек (SSU) необходим для установки обновлений и обслуживания ОС. Обычно, пакет поставляется в комплекте с ежемесячным обновлением системных файлов. Но может выходить и отдельно, вне очереди (например, KB5061977). Удалению не подлежит.
3️⃣ Накопительное обновление системных файлов (LCU).
Пункты 2 и 3 образуют новейшее накопительное обновление. В каталоге MU они представлены в едином MSU-файле.
📃 Списки обновляемых файлов
В конце статьи базы знаний с описанием обновления есть ссылки на файлы CSV со списками файлов и их несжатыми размерами, раздельно для LCU и SSU. В сервисном стеке около 160 файлов, ими можно пренебречь. В LCU картина такая:
KB5055523 (2025-04): 19992 файла объёмом 6.19 GB
KB5058411 (2025-05): 21273 файла объёмом 6.51 GB
Из этих данных увеличение MSU на 3 GB не вытекает 🤷♂️ В скобках замечу, что обновляется около 20% системных файлов. Количество файлов в папке Windows показывает утилита diskusage.
🤐 Реальное содержимое обновлений
Пришлось скачать MSU и открыть их архиватором. Сразу многое прояснилось! На картинке слева показано апрельское обновление, справа - майское.
В мае добавилось множество пакетов MSIX. Их назначение можно угадать по манифесту внутри. Два первых попавшихся регистрируют такие расширения:
Microsoft.Windows.Internal.SemanticSearch.TokenizerSession
Microsoft.Windows.Internal.Vision.TextRecognizerSession
Явно что-то связанное с искусственным интеллектом. Действительно, в описании превью майского обновления есть нововведения, связанные с ИИ. Версии компонентов совпадают с MSIX.
////
Осталось выяснить, почему июньское обновление вдруг стало легче майского на 1.3 GB. Посмотрите ещё раз на картинку, обращая внимание на размер пакетов MSIX. В майском обновлении хорошо просматриваются пары файлов с разницей не более чем несколько сотен байт. Внутри различия сводятся к аббревиатурам STX и LNL. Возможно, разные модели ML.
В июньском таких тяжелых "дубликатов" поменьше. Дальше я не копал. Но такой вброс в MSU множества MSIX и волатильность их списка не выглядят хорошо спланированным изменением. Опять же, все эти добавленные файлы не отражены в документации к обновлению 🙄
////
Разумеется, при установке обновлений из Windows Update скачивается куда меньший объём данных. Не нужно тащить чекпойнт, а компоненты для ПК Copilot+ предлагаются лишь на определённом "железе".
Но есть ещё автономные компьютеры в организациях и системы с порушенными службами WU дома. Для них придётся скачивать тяжёлые MSU со всеми инновационными пакетами ИИ ✌️