Windows 11, 10, etc - Вадим Стеркин
13.8K subscribers
279 photos
5 videos
8 files
1.04K links
Авторский канал. Windows, безопасность, мобильный мир:
• тайное знание
• профессиональный ликбез
• гадание по логам
• срыв покровов
• доставка пруфов

Чат: @winsiders
Блог: outsidethebox.ms
Oбратная связь: @vsterkin
Поддержать ₽: boosty.to/sterkin
Download Telegram
▶️ Сразу два человека доставили мне насчет #PowerShell касательно прошлого поста об удалении магазинных приложений.

Проничкин справедливо назвал тарабарщиной конструкцию на втором этапе конвейера
Get-AppxPackage -AllUsers | ? Name -Like *yandex.music*

Действительно, это упрощенный синтаксис новых версий PowerShell, а по классическим канонам это выглядит так
Get-AppxPackage -AllUsers | Where-Object {$_.Name -like '*yandex.music*'}

Гусев не менее справедливо заметил, что здесь это вообще не нужно :) Большинство командлетов Get- умеют фильтровать по имени.
Get-AppxPackage -AllUsers -Name *yandex.music*

А командлетов таких немало:
Get-Command -Name *get* -CommandType Cmdlet
✌️
​​🌐 Букмарклет для создания не зависящих от языка ссылок на ресурсы Microsoft

Когда вы открываете статью базы знаний или документации Microsoft, к ссылке добавляется идентификатор языка типа en-us или ru-ru. Он зависит от языка браузера, который может наследоваться из языковых настроек ОС.

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

(В скобках замечу, что нередко статьи переведены на русский с помощью Bing или отстают от английских версий, поэтому лучше читать их в оригинале. Но это уж ваш выбор.)

В какой-то момент меня утомило вырезать en-us руками и я сделал простенький букмарклет. Добавьте любой сайт на панель закладок и в свойствах закладки замените ссылку (URL) на код ниже.
javascript:void(prompt("URL:", window.location.toString().replace('/en-us','')))

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

В идеале хотелось бы сразу копировать полученную ссылку в буфер обмена, но я рабочего способа не нашел. Если знаете его, поделитесь в чате!

Upd. В чате предложили пару вариантов, этот сработал 👍

#bookmarklet
​​🧹 На этой неделе в топах Пикабу и Хабра была статья про тяжелую жизнь с ноутбуком, где Windows 10 установлена на диск объемом 32GB.

И как по заказу, в чат прилетел вопрос от девушки-линуксоида, которая взялась разобраться с полным отсутствием свободного места на чьем-то аналогичном устройстве с домашним изданием #Windows10 1511 🙉

Мы долго учились вводить в терминал команды dism и dir и показывать их результаты не словами, а фотографиями целиком. Но после всех очисток, сжатий и отключений гибернаций высвободили только 1GB.

Все оказалось намного прозаичнее, как только в дело вступила утилита dfp 👍

В кэше профиля системной учетной записи нашлись 5GB, которые на поверку оказались серией неудачных попыток установить огромное обновление KB4041689.

Графические утилиты в такой ситуации использовать затруднительно, а dfp сразу показывает все направления очистки. Тут и кэш Office, и ненужные магазинные приложения.

В общем, если поднапрячься, можно было высвободить десяток гигабайт. Но кмк автор вопроса уже очень хотела обратно в уютный линукс, поэтому удалением файлов обновления все и ограничилось.
✌️
​​🗒 Начиная со сборки #Windows10 18963 (20H1) блокнот обновляется через магазин. Одновременно это означает, что его можно удалить как и любое приложение из магазина.

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

Чтобы сохранить желаемые приложения, их нужно явно перечислить при выборе объектов, а остальное пойдет под нож. В записи блога я добавил пример, в котором сохраняются магазин, калькулятор и блокнот.
✌️
📊 У вас отключена или контролируется вручную установка обновлений на основном личном устройстве с Windows 10?
anonymous poll

Нет, и мне это не нужно – 611
👍👍👍👍👍👍👍 63%

Ставлю вручную раз в месяц – 137
👍👍 14%

Моего варианта тут нет – 70
👍 7%

Ставлю вручную реже раза в месяц – 59
👍 6%

Отключена, не устанавливаю – 48
👍 5%

Нет, но лишь потому что попытки не удались – 32
▫️ 3%

Нет, попыток не было, но очень хочу – 17
▫️ 2%

👥 974 people voted so far. Poll closed.
​​⚙️ В сборке #Windows10 18965 (20H1) сделали отдельную настройку для автоматического перезапуска приложений после перезагрузки.

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

В результате на картинке ниже:
1. Перезапуск приложений после перезагрузки.

2. Автоматический вход в систему при перезагрузке после установки обновлений с немедленной блокировкой.
И да, именно включение этой опции связано с сообщением "Похоже, кто-то другой все еще использует этот компьютер...", когда вы выключаете или перезагружаете ПК с экрана входа в систему, даже если вы не создавали других учетных записей.
​​🔒 В Microsoft Authenticator для Android завезли облачный бэкап (в iOS он был относительно давно)

Это - очень ценная фича в случае покупки нового смартфона или полного сброса старого (и чем больше у вас сервисов с двухфакторной аутентификацией, тем она ценнее :)

Сам я давно пользуюсь Яндекс.Ключ, в первую очередь из-за бэкапа, а во вторую - потому что Яндекс изобрел для своей 2FA велосипед, несовместимый с другими приложениями.

Microsoft Auth у меня только для беспарольного входа в MSA. И не факт, что я побегу переезжать на него, ибо это займет время - у меня #2FA включена везде, где она есть.

Кстати, в этом году появились данные от Google и Microsoft, утверждающие фактически 100% эффективность 2FA против автоматизированных атак на аккаунт. Причем в исследовании Google рассматривался вариант с отправкой SMS на телефон нежели генерацией кода на устройстве.

Компания также раскрыла тему эффективности 2FA против целевых атак. В случае с отправкой SMS на телефон она составляет 66%, а при использовании запросов на устройстве (aka Google Prompt) - 90%.

2FA значительно укрепляет #безопасность ваших учетных записей. Если вы еще не используете ее, включите хотя бы на ключевых аккаунтах уже сейчас. #классика блога на тему 2FA и различных способах ее реализации:
А вы защищаете свои аккаунты двухфакторной или двухэтапной аутентификацией?
Двухфакторная аутентификация без SMS, одноразовых кодов и паролей
​​ℹ️ ️Microsoft выпустила интересное обновление для #Windows10
https://support.microsoft.com/help/4023057

Оно нацелено на предотвращение проблем в процессе установки обновлений в потребительских изданиях, т.е. Pro и ниже в классификации Microsoft.

Одно из направлений - борьба с недостатком свободного пространства. Тут предлагается комплекс из старых-новых мер, которые могут применяться (т.е. не факт, что будут). Мое внимание привлекли два момента.

1. Отображение в cleanmgr папки "Загрузки". Это появилось в 1809, а в 1903 добавили предупреждение. Однако статья применима ко всем версиям начиная с 1507 (хотя поддержка 1709 уже закончилась, а у 1803 завершится в ноябре).

Поэтому не исключено, что в 1803 фичу добавят задним числом (примеры есть, в том же cleanmgr).

2. Автоматическое сжатие NTFS для пользовательских файлов, результатом чего будут синие стрелки на значках. Это неизбежно вызывает вопросы у пользователей. Объяснение стрелок легко нагугливается, но не причина внезапного сжатия.

В конце статьи сказано, что обновление заменяет KB4022868 для 1507 и 1511. Но там подробностей не было, так что трудно сказать, что здесь нового, что было между этими версиями и текущими...

Но спасибо и на этом :)
​​⚙️ В сборке #Windows10 18970 (20H1) появилась возможность вернуть ПК к исходному состоянию с помощью облачной загрузки дистрибутива.

Сейчас сброс Windows 10 выполняется путем создания системы для отката из текущей установки ОС (берутся файлы старше 30 дней). Историю вопроса и подробности работы технологии раскрывает #классика блога Как восстановить Windows 10 к исходному состоянию, и почему для этого больше не нужен install.wim.

В 20H1 добавили альтернативный способ - загрузку дистрибутива из облака. Это работает при сбросе из Параметров или среды восстановления (на картинке). Во втором случае, очевидно, в RE должны быть драйверы сетевой карты.

В любом случае при сбросе сохраняются только личные файлы, а программы удаляются. Поэтому имеет смысл чинить загрузку в ОС, а дальше при необходимости переустанавливать поверх, сохраняя программы.
​​⚙️ Новое в блоге: FAQ | Зарезервированное пространство (Reserved Storage) в Windows 10

В #Windows10 1903 появилась новая технология – зарезервированное пространство. В новостях это нередко подавалось под соусом “Windows 10 украдет у пользователей 7GB”.

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

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

P.S. Не забудьте пройти важный опрос 📊
▶️ Прекращение разбора строки в PowerShell

При выполнении в #PowerShell сторонних команд и утилит может возникнуть ситуация, когда их аргументы неверно интерпретируются из-за различных символов в командах. Популярный пример в форумах - синтаксис bcdedit.

Неопытный пользователь хочеть запустить командную строку, но оказывается в PowerShell, потому что она заменяет CMD в оболочке, например, в меню Файл проводника или Win+X (да, в Win+X можно переопределить, но речь не об этом).

Дальше выполняется какая-нибудь команда с фигурными скобками {}, которая получает отлуп.

bcdedit /set {current} description "Windows 10"
The set command specified is not valid.
Run "bcdedit /?" for command line assistance.
The parameter is incorrect.

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

Для этого в PowerShell 3.0+ есть символ --%. Продолжая пример выше:
bcdedit --% /set {current} description "Windows 10"
The operation completed successfully.

Подробности см. в man about_parsing
Это был привет от Василия Гусева ✌️
... и какие данные давать всем читателям канала @beardycast (и моего теперь) 😂
В сборке #Windows10 18985 (20H1) вернули необязательные обновления. Для их просмотра в параметрах в разделе Windows Update сделали специальную страницу.

Фактически, речь о новых версиях драйверов. В блоге утверждается, что теперь отпадает необходимость искать драйверы в диспетчере устройств.

Очевидно, это означает, что достаточно проверить обновления в параметрах, чтобы получить обновления сразу для всех устройств 👌

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

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

На практике особой разницы нет - пример был в канале. Причем совсем недавно приключилась копия этой истории (привет, Хартля ;)

Так или иначе, стало больше контроля над установкой обновлений. И это надо приветствовать 👍
Отпуск закончился - я вернулся из абсолютного лета ☀️☀️☀️ в Москву, кхм. В отпуске много катал 🚴‍♂️ Без эксцессов, но бывает иначе.

В соцсетях на днях проскочила отличная история. Парень собрался покатать на MTB с отцом, но встретиться не успел. Ему прилетело SMS с Apple Watch⌚️отца о жестком падении, с позицией на карте.

Парень поехал на точку, но отца там уже не было, зато пришло другое SMS - местолоположение изменилось на больницу.

Отец упал с велосипеда, ударился головой (интересно, был ли он в шлеме) и потерял сознание. Часы сразу набрали 911 и передали геолокацию. В течение получаса он уже был в больнице. А велосипед отвезли на пожарную станцию (в США парамедики часто работают в рамках пожарной службы).

Зачёт!
🔓 Вчера на Хабре был печальный пост про кражу домена путем взлома учетной записи Яндекс, защищенной двухфакторной аутентификацией.

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

У взлома было два этапа:
1. Перевыпуск SIM-карты
2. Сброс 2FA

Я перепроверил процесс сам. И выяснилось два момента:
1. При сбросе 2FA Яндекс не шлет SMS, а звонит. Это плохо, потому что мобильные операторы могут блокировать SMS на сутки после перевыпуска SIM, а звонок проходит.

2. Для сброса 2FA нужно знать ее ПИН-код (он же ПИН-код аккаунта Яндекс в приложении Яндекс.Ключ). Это хорошо, но тогда получается, что в рассматриваемом случае злоумышленники знали или подобрали ПИН-код жертвы (либо та не всю историю рассказала).

Между тем, Google и Microsoft позволяют исключить номер телефона из списка вторых факторов (ссылки ведут на страницы, где это можно сделать). В этом случае совершенно необходимо сохранить резервные коды в надежном месте, а не в Gmail и OneDrive соответственно ;) Равно как я не знаю и не вижу в документации компаний способов сбросить #2FA через SMS.

Выводы на тему привязки своих важнейших сервисов и активов к тем или иным почтовым службам делайте сами ✌️ Я, кстати, хоть и обещал не бежать с Яндекс.Ключ на Microsoft Authenticator после появления в последнем облачного бэкапа, делаю это потихоньку. (Впрочем, взлом Яндекс.Паспорт на бэкап Ключа не влияет, поскольку тот защищен отдельным паролем.)

Кстати, Microsoft Auth уведомляет вас в случае смены пароля учетной записи Microsoft, а также позволяет вернуть доступ. Да, пока вы спохватитесь злоумышленник сможет нанести ущерб, но это все равно весьма быстрый способ восстановить контроль над аккаунтом. А время - деньги!
🔄 В конце прошлой недели в блоге Microsoft IT Pro опубликовали интересный материал о роли машинного обучения (ML) в раскатывании новых версий #Windows10.

ML начали использовать в 1803 для оценки готовности ПК к обновлению по шести параметрам, а к 1903 их стало уже 35. Со стороны плоды этой работы можно косвенно оценить по количеству / описанию блоков апгрейда и скорости их появления. Список публикуется на специальной странице документации для каждой новой версии - здесь для 1903, остальные версии в меню страницы.

ℹ️ ️Пост в блоге, однако, раскрывает некоторые данные об успешности автоматической доставки новых версий в сравнении с ручным обновлением, когда оно не приходит через Windows Update.

В частности, приводятся такие цифры:
- откатов из-за проблем в процессе обновления - в два раза меньше
- аварийных сбоев режима ядра - в два раза меньше
- проблем с драйверами после обновления - в пять раз меньше

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

Я не случайно беру "финальную версию" в кавычки. Пусть теперь только один полугодовой канал доставки SAC, который совпадает с GA, Microsoft все равно ожидает, что в организациях настроен как минимум двухмесячный буфер. А за 2-3 месяца Microsoft и вендоры устраняют большинство массовых проблем, в том числе выявленных уже после GA на ПК домашних пользователей, бегущих впереди паровоза 😎

Наконец, Microsoft отдельно указывает в документации↑, что версию начинают проталкивать через WU на все ПК (status: ready for broad deployment). Так, 1903 получила этот статус 26 сентября, т.е. через 4 месяца после GA.
✌️
🔒 Продолжая тему 2FA, в блоге Azure AD Identity опубликовали хороший пост об уязвимостях процесса аутентификации.

Специалисты выделяют два глобальных направления атаки:

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

• Захват коммуникационного канала аутентификации. Это - перехват SMS / звонка (тот же перевыпуск SIM) или пуш-уведомления.

Из таблицы в посте следует, что от обоих направлений надежно защищают только три метода #2FA:
• Аппаратный токен
• SMART-карта
• Windows Hello

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

Автор поста, отвечая на мои вопросы в Твиттере, пояснил, что приложение Microsoft Authenticator уязвимо к фишингу, но захват коммуникационного канала ему не страшен (злоумышленник должен получить контроль над устройством). Он написал, что защита от фишинга возможна только при аутентификации типа FIDO (с использованием USB/Bluetooth/NFC) и упомянул, что работа над этим ведется.

😎 Возможно, решение Microsoft позволит превратить телефон с их приложением в аппаратный токен, как это сделала Google на Android для своих аккаунтов. Поживем - увидим!

Поддержка же Яндекса на вопрос о перспективах защиты аккаунта аппаратным токеном ответила "возможно, в будущем". Думаю, для этого им понадобится вынести на помойку свой велосипед 2FA, так что будущее это видится мне отдаленным :)

Так или иначе, любая форма многофакторной аутентификации значительно повышает #безопасность аккаунта, практически сводя на нет автоматизированные (т.е. не целевые) атаки. Делайте выводы ✌️
▶️ Вчера мне понадобилось массово задать пачке видео MKV атрибут Title на основе имени файла.

#PowerShell, похоже, не может без сторонних библиотек, но гугление также вывело на mkvpropedit из набора MKVToolNix.

dir *.mkv -Recurse | %{$a = $_.BaseName; mkvpropedit $_.FullName --edit info --set "title=$a"}

Использовать $_.BaseName (имя файла без расширения) внутри кавычек --set "title= " у меня не получилось, но обходной путь с переменной сработал.

Upd. Как я и предполагал, мне сразу доставили (Гусев и Поданс) про "title=$($_.BaseName)".

dir *.mkv -Recurse | %{mkvpropedit $_.FullName --edit info --set "title=$($_.BaseName)"}

Я знал про это и даже показывал в блоге, но забыл, а решать задачу надо было уже сейчас ✌️
👍 Поддержите в центре отзывов предложение добавить опцию ☁️ облачной переустановки поверх (aka апгрейд) в Параметры - Обновление - Восстановление .

Идею я озвучил в переписке с PM'ом среды восстановления, который представил фичу Cloud Reset в 20H1. Oн попросил развернуто написать в #feedbackhub. Поскольку там моя аргументация на английском языке, изложу ее на русском даже чуть подробнее.

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

2. Апгрейд решает практически все проблемы, которые я вижу в форуме (основное исключение - ошибки при апгрейде:). И я даже не предлагаю сброс, если система загружается. А когда сброс - единственная опция, я не разу не видел довольных тем, что потеряются настройки и программы.

3. 80% пользователей запускают сброс из Параметров и лишь 20% из среды восстановления. В первой категории минимум людей, которые действительно хотят зачистить ПК от своих данных. Большинство просто пытаются избавиться от проблем, но в параметрах нет апгрейда, а про Media Creation Tool (MCT) и уж тем более ISO они не знают.

4. В MCT уже есть все что нужно (Обновить компьютер сейчас). Надо просто интегрировать его функции в ОС.

ℹ️ Да, апгрейд исторически можно запустить только из-под ОС, т.е. в RE это не сработает. Но большинство людей это устроит, равно как принесет более полезный результат.

Если вы согласны с этими тезисами, поддержите отзыв (нужна инсайдерская MSA) ✌️
​​☁️ Новое в блоге: OneDrive: нюансы личного хранилища (Personal Vault)

В #OneDrive появилась нововведение - личное хранилище, обеспечивающее дополнительную #безопасность самым ценным файлам.

Сегодня я расскажу о некоторых особенностях реализации новинки в Windows, а также поделюсь соображениями о ценности Personal Vault в различных сценариях.

➡️ Читать в блоге: https://www.outsidethebox.ms/19696/
​​#Windows10 19H2 (1909) доступна для загрузки на MSDN, хотя она сейчас в RP. С 1903 была такая же история.