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
⚙️ Как заменить системные значки на инсайдерские в стабильной версии #Windows10

В начале марта в сборку 21327 канала Dev доставили новые значки. Вы можете освежить стабильную версию Windows прямо сейчас 👌

При установке шрифта Segoe MDL2 Assets обновится вид в:
🔹 Параметрах Windows (картинка ниже)
🔹 Приложениях, где используется WinUI 2.5 и выше
🔹 Гамбургере меню Пуск


При установке шрифта Fluent UI System Icons обновится вид в:
🔹 Контекстных меню в Пуске
🔹 Всплывающих окнах вроде Wi-Fi подключения на панели задач
🔹 Центре уведомлений

Спасибо Святославу, ведущему канала Win1Leaks 👍
Как посмотреть все свойства объекта в #PowerShell

Мне тут понадобилось определить, является учетная запись локальной или Microsoft. Понятно, что можно зайти в параметры. A скриптом?

Командлет Get-LocalUser уже фигурировал в канале, а в данном случае на вопрос отвечает свойство PrincipalSource.

#все учетные записи
Get-LocalUser | ft Name,PrincipalSource,Enabled
#только текущая
Get-LocalUser -Name $(whoami).split('\')[1] |
ft Name,PrincipalSource

Name PrincipalSource
---- ---------------
Vadim MicrosoftAccount


Я не знал про это свойство, но и не гуглил. По науке командлет можно передать по конвейеру на Get-Member, который возвращает члены, методы и свойства объектов. Например, Get-Service | Get-Member.

Но я почти всегда вывожу список всех свойств с помощью Format-List, псевдоним fl:
Get-Disk | fl *

Профит в том, что видны не только свойства, но и их значения. А это очень ценная визуализация! Василий Гусев также советует использовать fl * -Force для вывода свойств объекта ошибки
🔄 О размере образов #Windows10

Давненько я не делал установочные флэшки, а на днях понадобилось. Я скачал актуальный образ MSDN и привычно экспортировал издание Pro в WIM по своему же гайду.

Когда-то я написал его, потому что оригинальный install.wim не влез на FAT32. В целом, это все равно быстрее, чем делать флэшку с MCT, но в этот раз я опять обломался :)

#Классика блога обновлена, так что почитайте:
🔹 как изменяется со временем размер install.wim
🔹 какие сейчас размеры образов
🔹 имеет ли смысл экспортировать в ESD

В двух словах: если не спешите, MCT рулит 👌
⚙️ О множественных накопительных обновлениях #Windows10

Microsoft декларирует одно накопительное исправление (Cumulative Update, CU) в месяц для ОС и одно для .NET Framework. В марте 2021 для ОС вышло аж три CU, что породило вопросы в чате.

Вообще, выход нескольких CU в месяц - не редкость. #Классика блога Как Microsoft доставляет обновления Windows покрывает именно такой случай в 2018 году. Не всегда понятно, почему выпускают больше одного, но в данном случае логика просматривается.

🔷 Почему вышло три исправления
1. KB5000802 вышло как обычно во второй вторник 9 марта, но породило массовую проблему с принтерами.

2. KB5001567 появилось 15 марта для исправления созданной проблемы.

3. KB5001649 выпустили 18 марта для исправления еще одной проблемы с принтерами. Очевидно, не успели включить в предыдущее CU. Впрочем, спустя пару дней это обновление перестали предлагать в WU и вернули KB5001567.

🔷 Почему два исправления внеочередные
Внеочередные (out of band) обновления, как правило, исправляют изъяны в системе безопасности. В описании KB5000802 только безопасность. Поэтому исправление привнесенных им проблем тоже относится к этой категории.

Функциональное обновление могли бы откатить без нового выпуска посреди месяца. Например, так или иначе (расскажу в другой раз).

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

🔷 Чем отличаются разные необязательные исправления
В Параметрах на главной странице Windows Update вручную предлагается установить три категории исправлений:
• необязательные исправления ОС (данный случай)
• предварительные версии CU
• новые версии ОС

А на отдельную страницу необязательных обновлений вынесены новые версии драйверов и BIOS.
✌️
🤦‍♂️ О псевдонимах магазинных приложений

Участник чата Ника установил Python, выполнил в командной строке python и отложил кирпичную кладку 🧱🧱🧱 Потому что у него открылся магазин! Будучи человеком опытным, он сразу понял, что дело в псевдонимах запуска магазинных приложений. А так-то можно и мозг сломать ;)

ℹ️ Псевдонимы завезли в #Windows10 1709, чтобы магазинные приложения можно было запускать из командной строки. И это отлично!

Однако спустя полтора года у Microsoft случилось помутнение рассудка на почве любви к Python 🐍 Пытаясь помочь начинающим разработчикам в их нелегком выборе, откуда бы скачать установщик, Microsoft сделала ход... питоном. На python.exe и python3.exe повесили установщик пакетов 🙈

Пользователь вводит заветное слово в консоль или Пуск
Открывается магазин на странице Python
После установки из магазина псевдоним обновляется
ПРОФИТ!!!

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

Я не думаю, что в Microsoft ПМы тупые настолько, чтобы не учесть такой сценарий. Просто они настолько упоротые, что не сочли его существенным.

Вылечить это можно двумя способами на выбор или в сочетании:
🔹 Точечно - в параметрах поищите alias и отключите псевдонимы для python.exe и python3.exe

🔹Глобально - в пользовательской переменной PATH переместите в конец списка строку %USERPROFILE%\AppData\Local\Microsoft\WindowsApps

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

👍 - о, что-то новенькое!
👌 - я все это знаю
⚙️ О неточностях измерения нагрузки на ЦП в диспетчере задач

Если в диспетчере задач вы видите, что процесс потребляет 40% CPU, это вовсе необязательно так. Aaron Margosis хорошо и наглядно объясняет нюансы измерения.

ℹ️ Ранее в диспетчере задач использовался счетчик % Processor Time , и на него до сих опирается Process Explorer от Sysinternals. Начиная с Windows 8 на вкладках Процессы и Производительность за основу берется счетчик % Processor Utility.

Изменения внесли в связи с тем, что современные процессоры могут работать на сниженной частоте при малой нагрузке, а при большой превышать заявленную частоту. В итоге диспетчер задач под нагрузкой нередко показывает значение больше реального. А было время, когда показывал и больше 100% 👌

На картинке с помощью специальной утилиты нагрузили 6 ядер из 12. Process Explorer показывает 50.48%, а диспетчер задач 83%. Однако заметьте, что базовая частота процессора 2.40Ghz, а во время измерения она составляет 3.94GHz.

83%*(2.40/3.94)=50.56%, что почти совпадает с procexp. A 83% - это значение на временной шкале 164.1, т.е. 100%*(3.94/2.40). Логика понятна, но это совсем неочевидно.

В статье есть и другой пример, где диспетчер задач путается в показаниях на разных вкладках. Потому что на вкладке Подробности используется счетчик % Processor Time.

В итоге автор делает вывод, что % Processor Utility - не для конечных пользователей, и в диспетчере задач этот счетчик использоваться не должен 🤔
😎 Экран OOBE из предварительной версии Windows ME (сборка 2404) с кликабельным Мерлином и тултипами
🎈 Сегодня каналу исполнилось 5 лет!

Как-то не верится даже 🤔 Тогда канал с его односторонней связью помог мне перезагрузиться и отдохнуть от блога, где комментарии исторически требовали много внимания и времени. (Я уделяю внимание каждому, в т.ч. любителям тыкать острыми палками :) Так, в мифах оптимизации SSD не хватило 9 штук до 1000 просто потому, что я закрыл обсуждение.

📢 Публичную обратную связь вполне обеспечивает чат @winsiders. Но даже сейчас там нет такого потока фидбэка как на статьи блога в то время. Отчасти это связано с отсутствием призыва к действию, т.е. к ответам на вопросы в конце поста. Но решает разница в средствах подачи информации и обмена мнениями (например, сознательное отключение комментариев в канале).

🕥 Если вы подзабыли, как воспринимался Telegram в 2016 году, у меня есть статья 5 причин сделать Telegram своим основным мессенджером. Сейчас она выглядит капитанской, а тогда в комментариях собрался чудесный паноптикум - отрицатели всего нового, люди с пустыми списками контактов, отпрыски дворянского рода с Windows Phone, а также обвинители в русофобии из-за рекламы мессенджера без русского языка 🙄

📝 За 5 лет Telegram стал для нас привычным средством общения и потребления информации. Канал вырос, и я в качестве автора вместе с ним. Как показал опрос в конце прошлого года, текущий формат канала устраивает большинство читателей. А пожелания по улучшению я стараюсь учитывать, даже если это не очень заметно :)

Наконец, напомню пару моментов по каналу:
🔹 Здесь немало вечнозеленых постов, т.е. вы можете смело читать канал ретроспективно. Как вариант, бот @sterkin_ru_bot выдает случайный пост. Подробнее тут).

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

Спасибо, что читаете мой канал 👍
💡 NFT: что на самом деле приобрел за $69 млн покупатель картины художника Beeple

Если только вы не прожили под камнем последние пару месяцев, то не раз видели аббревиатуру NFT, Non-Fungible Token. Возможно, вы читали объяснения разной степени точности. Я тоже, и мне больше всего понравился #longread Deconstructing that $69 million NFT

Автор простым языком с помощью наглядных примеров объясняет:
🔹 смысл слова fungible (взаимозаменяемый)
🔹 можно ли скачать картину и как
🔹 как именно картину продавали на аукционе
🔹 что на самом деле получает покупатель
🔹 что покупатель теперь может сделать с приобретением (спойлер: возможность передать кому-либо MakersTokenV2 #40913 ;)
✌️
🕶 О плохом UX и пользе чтения написанного на экране

Участник чата инсайдеров сделал чистую установку #Windows10 на ВМ. Он выполнил первый вход с локальным аккаунтом и стал привязывать учетную запись Microsoft (MSA).

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

👉 Ларчик открывается просто - надо вводить пароль не от MSA, а от локального аккаунта (а если он пустой, просто жать Далее). И действительно, это написано на экране :)

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

Заголовок длинный, зато точно отражает суть происходящего ;)

Я недавно показывал, как выполнять команды и скрипты от имени системы при наличии прав администратора. А сегодня я объясню, как запускать административные задачи, не имея полных прав. И нет, это не про AdmLink и runas /savecred.

➡️ https://www.outsidethebox.ms/20970/
▶️ PsFCIV - модуль #PowerShell для проверки целостности файлов на больших файловых ресурсах

Когда-то у Microsoft была утилита FCIV, и она даже фигурирует в статье блога 12-летней давности о проверке контрольной суммы. Но компания не поддерживала утилиту официально и давно выпилила ее вместе с упоминаниями со своих сайтов.

А Вадимс Поданс в свою очередь запилил решение на PowerShell, которое делает все что умела FCIV, в т.ч. БД файлового ресурса в XML, и даже больше.

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

➡️ https://www.pkisolutions.com/tools/psfciv/
😎 Выиграть
/#автоперевод от создателей докерфиле и форцевилдакрдхандлинг/

Пожалуй, на сей раз они превзошли себя :) На картинке машинный перевод документации к PowerToys.

ПМ доктим сказал в Твиттере, что они в курсе проблемы и работают над улучшением. Но мы-то знаем, что в этом контексте фундаментально уже много лет ничего не меняется 🙄
This media is not supported in your browser
VIEW IN TELEGRAM
😂 Когда поменял название канала на 1 апреля
🛍 Офигенный сканер из Стора. Очень приятный дизайн, работает как положено, есть всё что нужно.
https://www.microsoft.com/store/productId/9N438MZHD3ZF

Это - дословный отзыв Влада, участника чата инсайдеров 👌 У меня-то сканеров нет уже лет дцать, последнее время пользуюсь Microsoft Lens на телефоне.

Отмечу, что Scanner активно развивается - только что вышло большое обновление, в т.ч. интерфейса. И это ценно, потому что у Microsoft магазинное приложение для сканеров не обновлялось с времен Windows 8.х, в т.ч. в системных требованиях до сих пор стоит 8.1.

👉 Если вы пользуетесь другими годными приложениями из магазина Windows, набрасывайте их в чат @winsiders - я сделаю четвертую подборку. Предыдущие: 14, 12 и 17.

А вы пользуетесь сканером дома?
👍 - Да
📱 - Смартфона хватает
- Не сканирую
▶️ 5 полезных советов по настройке Windows Terminal

Из моего settings.json ;)

🔷 Убрать предупреждение о закрытии всех вкладок при закрытии окна
"confirmCloseAllTabs":false,

🔷 Убрать предупреждение о вставке нескольких строк
"multiLinePasteWarning":false,

🔷 Убрать ненужные дефолтные профили из списка (например, Azure)
"disabledProfileSources": [
"Windows.Terminal.Azure"
],

Простое удаление из json не сработает, потому что это динамический профиль #Terminal (см. 3231).

🔷 Задать расположение окна при запуске
"initialPosition": "380, 250",

🔷 Искать текст в окне по Ctrl+F. Да, в терминале можно искать - GIF. По дефолту - Ctrl+Shift+F. Найдите это сочетание в json и поменяйте на свое.

🔶 Бонус: сайт с темами оформления https://windowsterminalthemes.dev/

А что у вас интересного в settings.json? Пишите в чат @winsiders ✌️
🌐 О фидбэке и ответной реакции разработчиков

Не так давно я разбирал новые всплывающие панели Edge. Там я особо отмечал, что опытным пользователям сломали привычный процесс поиска по истории: Ctrl+Hзапрос.

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

💡 Очевидно, я был не единственный с подобным отзывом, потому что разработчики откликнулись. Однако они пошли другим путем - сделали флаг edge://flags/#edge-history-accelerator-override (на данный момент - в Dev). С ним сочетание Ctrl+H как и прежде ведет на классическую страницу edge://history/.

Иное видение решения проблемы пользователей нормально. Все-таки для переделки уже доставленного в прод UI/UX требуется больше обоснований и усилий. И вообще надо сказать спасибо, что хоть так.

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

И отправил отзыв с просьбой сделать настройку постоянной 👌
🔄 Исправление ошибки 0x80070643 при скачивании сигнатур защитника Windows в WU

С такой ошибкой вы можете столкнуться, выполнив сейчас чистую установку свежего образа #Windows10 20H2 (например, из Media Creation Tool).

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

Я тоже попал на эту ошибку на одном ПК, но особо не раздумывал - просто скачал последнюю версию сигнатур в обход WU. По ссылке аж четыре способа автоматизации.

В GUI - скачивание в браузере или проверка в приложении Безопасность Windows (спасибо, Евгений Леонов).
✌️
☁️ О пользе истории версий

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

💡 У меня все статьи в OneDrive. В проводнике из контекстного меню перехожу к статье в облаке, жму заголовок (1) и открываю предыдущие версии (2). А дальше просто смотрю скриншоты, созданные в дни изменения файла. Сразу нашлись нужные. Think outside the box 😎

ℹ️ В блоге есть #классика 2012 года про совместную работу над документами, где в т.ч. рассказываю про историю. Интерфейс тогда был другой, конечно, да и сервис еще назывался SkyDrive. Но все описанные функции на месте.

👍 - о, что-то новенькое!
👌 - я все это знаю
▶️ PowerShell vs. CMD: выборка по неполному значению

В предыдущем эпизоде была работа с датами. А на этот раз в форуме скриптов один участник создал две схожие темы в категории CMD/BAT.

1. Как отключить задание в планировщике, если часть названия варьируется. В качестве примера он привел:
Yandex.Stroka.User.S-1-5-21-3347023001-...

2. Как удалить из реестра параметр, у которого часть имени варьируется. Например, случайный набор символов в:
GoogleChromeAutoLaunch_1405EDE48...

👉 Обе задачи легко решаются ванлайнерами #PowerShell.

1. Участник честно попытался решить на CMD с помощью подстановочного символа *, но это не прокатило:
schtasks /Change /TN "\Yandex.Stroka*" /Disable

А на PowerShell такая логика сработает:
Get-ScheduledTask -TaskName '*yandex.stroka*' | Disable-ScheduledTask

2. С REG DELETE у товарища не получилось. В PowerShell другой командлет, но тот же принцип:
$mypath = "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Remove-ItemProperty -Path $mypath -Name 'GoogleChromeAutoLaunch*'

Здесь я сделал две строки из одной ради более приличного вида в Telegram.

Участник, однако, все равно возжелал CMD, потому что "они как-то привычнее". Стандартный подход:
powershell -ex bypass -noprofile -command "команда"
powershell -ex bypass -noprofile -file "путь к ps1"


📢 Василий Гусев в чате доставил, что подстановочный символ * поддерживает большинство командлетов, но не все. Это не беда, в таком случае его можно задействовать в Where-Object:
Get-ScheduledTask | where TaskName -like '*Yandex.Stroka*'

Конечно, обе задачи можно решить и на CMD, если вы владеете FOR (и любите писать больше строк нежели меньше). Но PowerShell здесь значительно проще и даже логичнее.

Да, к работе с реестром в PowerShell надо привыкнуть, но это частный случай. А выборка по неполному значению с помощью * - общий. И этот прием вы будете часто применять в разнообразных задачах ✌️

#PowerShellvsCMD
🛍 14 "десктопных" приложений, которые можно скачать из магазина #Windows10

👉 Тема сегодняшней подборки - мультимедиа и дизайн. Помимо общей тематики на сей раз приложения идут с комментариями от участников чата (имена в скобках).

• MyTube
https://www.microsoft.com/store/productId/9WZDNCRCWF3L
Клиент YouTube, который ощущается в сотню раз быстрее сайта. Одно удовольствие через него смотреть. (Vlad)

• Elpy
https://www.microsoft.com/store/productId/9NH3PH6413PR
Генератор фоновых звуков, хотя в Яндекс Музыке такое тоже есть (Paul Elms)

• Яндекс.Музыка
https://www.microsoft.com/store/productId/9NBLGGH0CB6D
Да, оно доставляется автоматически, что и послужило поводом к статье статье про предотвращение установки магазинных приложений :) Но не на все версии и языки ОС. (Vadim Sterkin)

• Spotify
https://www.microsoft.com/store/productId/9NCBCSZSJRSB

• Diarium
https://www.microsoft.com/store/productId/9NBLGGH4VZZ1
Личный дневник. Также есть на других платформах. (Paul Elms)

• Aquile Reader
https://www.microsoft.com/store/productId/9P08T4JLTQNK
Читалка для книг. Не совсем идеальная по части форматирования. Но, наверное, единственная читалка с приятным современным интерфейсом, а не страшилище, которое ещё виндовс 2000 видало. (Valerii P)

• Cover
https://www.microsoft.com/store/productId/9WZDNCRFJ9W7
Более чем годная читалка комиксов. Умеет работать с облаком и вроде бы не кешировать локально при этом всю библиотеку (библиотеки комиксов могут быть большие по объему). (Paul Elms)

• Drawboard PDF
https://www.microsoft.com/store/productId/9WZDNCRFHWQT
Навороченный просмотрщик PDF с возможностями их аннотирования и редактирования. Можно страницы местами поменять, например. Эдакий Adobe Acrobat, но с современным интерфейсом. Недостатки: грузится дольше браузера и платный. У меня планшет, поэтому поэтому не жалею ни рубля. (Vlad)

• Character Map
https://www.microsoft.com/store/productId/9WZDNCRDXF41
Функциональный и быстрый просмотрщик шрифтов. (Vlad)

• Concepts
https://www.microsoft.com/store/productId/9NGQM8FPH9WQ
Графический редактор для набросков. Там кисти есть интересные по фактуре, художникам норм. Приложение пришло из мира Айпада. (Vlad)

• Grover Pro
https://www.microsoft.com/store/productId/9NBLGGH5KJKS
Приложение для подкастов. Большая сложность найти на Windows приложение с нормальным поиском и описанием выпусков. Платное, но недорогое. А альтернатив, кроме тяжёлого айтюнса, похоже нет. (Vlad)

• Lunacy
https://www.microsoft.com/store/productId/9PNLMKKPCLJJ
Векторный графический редактор, Sketch для Windows.

paint.net
https://www.microsoft.com/store/productId/9NBHCS1LX4R0
Редактор изображений. Приложение бесплатное, но в магазине оно стоит $7 - приобретая, вы поддерживаете разработчика материально.

• ScreenToGif
https://www.microsoft.com/store/productId/9N3SQK8PDS8G
Мой выбор для записи видео с экрана с последующим быстрым редактированием. (Vadim Sterkin)

⭐️ Основные плюсы магазинных приложений для пользователей:
• автоматическое обновление в фоне - не надо качать новые версии и жать next-next-next.
• защищенная среда выполнения - например, исключены инъекции DLL
• чистое удаление - не остается хвостов

🕓 Предыдущие подборки: 14, 12 и 17.

Пользуетесь годным приложением, которого нет в подборках? Напишите в чат @winsiders ✌️