Авторский канал. Windows, безопасность, мобильный мир: • тайное знание • профессиональный ликбез • гадание по логам • срыв покровов • доставка пруфов Чат: @winsiders Блог: outsidethebox.ms Oбратная связь: @vsterkin Поддержать ₽: boosty.to/sterkin
✔️ Как сверить контрольную сумму дистрибутива Windows с первоисточником
Технически контрольная сумма нужна, чтобы убедиться в целостности скачанного ISO. Но сначала его нужно найти. Для чего как раз идеально подходит контрольная сумма 😎
Контрольные суммы ISO есть в каждой торрент-раздаче - это для доверчивых. Более придирчивые смотрят в https://msdn.rg-adguard.net/. В идеале же надо сверять с первоисточником - Microsoft.
Когда-то контрольные суммы были в свободном доступе на сайте MSDN. Но их спрятали за подпиской в 2017 году одновременно с переездом на домен VisualStudio. Однако в какой-то момент публичный доступ вернули. Требуется лишь вход с учетной записью Microsoft. Спасибо ԤИОНЕР
за наводку!
⏺ Процесс показан на видео. Пример ссылки:
https://my.visualstudio.com/Downloads?q=Windows%2011
Выбрать утилиту для сверки вам поможет #классика блога: Как проверить контрольную сумму дистрибутива Windows ✌️
📋 Advanced Paste - вставка текста без форматирования
Сегодня в рубрике "Знаете ли вы" утилита Advanced Paste из комплекта PowerToys. Я уже упоминал о ней в канале 3.5 года назад, когда выпуск утилиты еще планировался. В посте был костыль на PowerShell и прочие способы вставки без форматирования. Сейчас у меня двойной повод вернуться к этой теме.
С одной стороны, утилита недавно обзавелась функциями вставки в формате JSON и Markdown. Я пишу посты канала в Markdown, поэтому фича мне к двору! Также внедрили кастомную обработку буфера обмена с ИИ, но нужна подписка OpenAI.
С другой стороны, на работе я мигрирую в сильно огороженную среду. И я не смогу туда протащить сторонний менеджер буфера обмена (Ditto), с помощью которого помимо прочего вставлял текст без форматирования. Однако в список разрешенного программного обеспечения входит PowerToys, и это просто праздник в тех спартанских условиях 🎉
В утилите дефолтное сочетание клавиш для вставки без форматирования Win+Ctrl+Alt+V
, но можно переназначить как угодно.
👍 - о, что-то новенькое!
👌- я все это знаю
💡Сисадмин без логирования — невостребованный сисадмин.
Именно через логи можно отслеживать работу приложений, находить и исправлять ошибки, анализировать производительность и многое другое.
Хотите построить успешную карьеру? Разберитесь в этом необходимом инструменте на открытом практическом уроке от OTUS, где мы рассмотрим:
- какие типы логов существуют и какие данные они содержат;
- как правильно организовывать логирование в приложении, чтобы облегчить отладку и анализ;
- передовые технологии и инструменты для эффективного управления и анализа;
- практические примеры.
Спикер — опытный системный администратор и инженер, сертифицированный специалист ITIL.
🎁 Встречаемся 10 июня в 20:00 мск в рамках курса «Администратор Windows». Все участники вебинара получат специальную цену на обучение!
👉 Регистрируйтесь прямо сейчас
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
☀️ С первым днем лета, дорогие друзья!
👀 Коллеги из Windows Central уже успели протестировать функцию Recall и сделали первичный обзор. Вышло довольно интересно.
🙂 Мы же любезно перевели данный материал и спешим поделиться им с вами — налетаем, изучаем и дискутируем.
🧡 Win1Leaks | #windows11
▶️ Модуль PowerShell для winget
Сегодня в рубрике "Возвращаясь к напечатанному" модуль #PowerShell для менеджера пакетов winget. Разбирая нюансы автоматического обновления приложений осенью 2022 года, я сетовал на неудобство командной строки. Потому что парсинг текста заведомо проигрывает управлению объектами в PowerShell.
Полгода спустя вышла альфа-версия официального модуля, и он продолжает развиваться. К сожалению, это не полноценный модуль, а обертка над утилитой winget 🤷♂️ Командлетов пока маловато, и до полного набора возможностей еще далеко. Но уж чем богаты...
📄 Основы
Рекомендуется использовать PowerShell Core нежели входящий в ОС PowerShell 5.1.
# установить модуль winget
Install-Module -Name Microsoft.WinGet.Client
# найти пакет в репозиториях по частичному имени
Find-WinGetPackage -Name 'Bitvise SSH'
*
. Наоборот с ним ничего не найдется. Одинарные кавычки необходимы при наличии пробелов в имени.# найти пакет только в репо магазина
Find-WinGetPackage -Name treesize -Source msstore
# обновить все пакеты IrfanView (приложения, плагины)
Get-WinGetPackage -Name irfanview | Update-WinGetPackage
# список всех установленных пакетов
$p = Get-WinGetPackage
# список пакетов с доступными обновлениями
$p | where IsUpdateAvailable
# список пакетов с доступными обновлениями из магазина
$p | where IsUpdateAvailable | where Source -eq msstore
# список пакетов в виде интерактивной таблицы
$p | Out-GridView
# список пакетов в CSV
$p | ConvertTo-CSV | Out-File -Path C:\temp\winget.csv
# обновить все пакеты при наличии новой версии, кроме указанных
$p | where IsUpdateAvailable | where Name -notmatch 'calibre|zoom'
| Update-WinGetPackage
pin
, которую я недавно разбирал в канале.# Обновить все, кроме терминала, если он запущен
$u = Get-WinGetPackage | where IsUpdateAvailable
if (Get-Process -ProcessName WindowsTerminal) {
$u | where id -notmatch 'WindowsTerminal' |
ForEach-Object {Update-WinGetPackage -id $_.Id}
}
else {
$u | ForEach-Object {Update-WinGetPackage -id $_.Id}
}
show
. Надеюсь, в будущем мы это увидим ✌️
Читать полностью…
🤷♂️ О трудностях перевода
В чате как-то всплыл вопрос об откате к предыдущей версии, и мы обратили внимание на странный заголовок сообщения на скриншоте: "Не заблокируйте". Звучит как одиннадцатая заповедь :) В оригинале "Don't get locked out".
К сожалению, за долгие годы у продуктовых групп Microsoft, по крайней мере Windows, не сложилось ясного понимания, что эти сообщения надо писать как можно проще. Потому что они переводятся на десятки языков!
В последние годы ситуация лишь усугубилась тем, что в мировой разработке ПО взят курс на менее формальный и как бы более человеческий стиль обращения к пользователям. Вот эти все "Ой, что-то пошло не так" 🙄
Однако цветастые выражения лишь затрудняют перевод, который выполняется с помощью инструментов, автоматизирующих процесс в той или иной степени. Допустим, здесь не #автоперевод. Но и человеку для таких "креативов" нелегко придумать ёмкий эквивалент. В чате предложили хороший вариант: "Не потеряйте доступ к ПК". Но есть нюанс ©
🤔 Локализатор зачастую не видит интерфейс и даже не всегда знает полный контекст. Нередко от продуктовой группы приходят только текстовые строки с кратким пояснением, где они отображаются (процедура отката). В данном случае переводчик мог бы и догадаться, если он был человеком и имел все строки из этого окна нежели только его заголовок.
Наконец, сообщение нередко еще и надо вписать в рамки по количеству символов (что переводчику не всегда очевидно, кстати). В этом примере места хватает. Но все равно здесь английский фразовый глагол, а они зачастую куда компактнее русского перевода.
Так что, увидев следующий кривой перевод, подумайте, стоит ли обвинять в нем локализаторов. Возможно, собака зарыта поглубже - в оригинале ✌️
🤔 Экраны этапа OOBE в процессе установки Windows 11 24H2
Мне это напомнило уличный ларек из 90-х (ссылка для юных :)
Такой UX при использовании учетной записи Майкрософт (MSA). С одной стороны, потому что с ней легче зайти во все эти сервисы без дополнительных телодвижений.
С другой, она теперь является частью системных требований в изданиях Home и Pro. То есть вход с локальным аккаунтом у потребителей уже не подразумевается 🤷♂️
Помимо прямой продажи сервисов здесь есть и наживка:
🔸 Включите бэкап камеры смартфона в #OneDrive и... приходите покупать у нас подписку поскорее.
🔸 Нажмите "Далее" на неприметном экране установки, а мы потом подтянем все данные из других браузеров в Edge.
И это только маркетинговая часть! Я не включил сюда экран с выбором целевого назначения компьютера, который ни на что не влияет. Еще на протяжении трех (!) экранов уговаривают восстановить настройки из резервной копии. Но это имеет хоть какой-то смысл 👌
Да, тут наверное не все новое. Но я так редко вижу процесс установки Windows, что всегда удивляюсь :) Как правило, я использую файл ответов, чего и вам советую! ✌️
🔎 Новое в блоге: Дело о долгой перезагрузке Windows
Казалось, Холмс совсем отошел от дел. Он строго-настрого наказал миссис Хадсон отправлять всех визитеров в Скотланд-Ярд. А сам предавался курению трубки, игре на скрипке и своему новому увлечению — поездкам по вечернему Лондону на электрическом велосипеде. Однако в то утро посетители оказались исключительно настойчивыми.
Выйдя на шум, мы столкнулись с запыхавшейся миссис Хадсон: «Мистер Холмс, эти джентльмены, заявляют, что никуда не уйдут, пока не получат вашу аудиенцию. Они уверены, что вы их примете. Не могу же я поселить их внизу!». Понизив голос, она доверительно добавила: «Они в штатском, но думаю, что это военные».
Холмс незаметно посмотрел сверху на посетителей и, кажется, узнал одного из них: «Что ж, пригласите их ко мне».
❓ Как стать DevOps-специалистом всего за полгода и увеличить свой доход минимум в 3 раза?
Привет! Я Марсель Ибраев, Senior system engineer в Core42 Cloud и спикер учебного центра Слёрм. Совместно с ребятами из Честного Знака, Лаборатории Касперского, VK и Jetty Cloud мы запускаем новый крутой проект для всех начинающих DevOps-специалистов
На своем канале собрал фишки, которые помогут:
⚡️ начать наконец свой путь в DevOps;
⚡️ освоить базовые компетенции для DevOps-специалиста;
⚡️ стать Junior DevOps и повысить свою стоимость на рынке труда в 3 раза.
Уже сейчас вы можете забрать бесплатный роадмап по основным компетенциям в девопсе, который поможет вам начать свой карьерный путь.
🔥 Проект ограничен по времени. Залетайте на корабль!
ПОДПИСАТЬСЯ НА КАНАЛ
и забрать роадмап
erid: LjN8K6KrR
⚙️ Как настроить открытие ссылок в приложении YouTube Revanced без рута и ADB
Мой друг на новом телефоне возжелал привычный YouTube с фоновым воспроизведением. С установкой клиента Revanced проблем не возникло. Однако ссылки на видео все равно открывались в официальном приложении, которое нельзя просто взять и удалить. Телефон Xiaomi с MIUI, но такое возможно и с другими оболочками.
В настройках Android есть управление ссылками, но пляски с бубном вокруг обоих клиентов YouTube ни к чему не привели. Я спросил чат - Niks
быстро доставил решение. И оказалось, что именно его я применил когда-то на своем телефоне, о чем успешно забыл 🤦♂️ Поэтому оставлю его здесь - в своей публичной записной книжке.
⏯ Процесс показан на видео, которое надо смотреть во весь экран.
1. Установите Better Open With.
2. В разделе Browser выберите из списка сайтов YouTube и задайте приложение для открытия ссылок.
Поскольку у обоих приложений одинаковые значки, Revanced определяется экспериментально. Чтобы не путаться, можно задать разные темы оформления✌️
🔒 KeePass: автоматический ввод учетных данных в браузере по URL страницы
Я уже рассказывал в канале про годную функцию автонабора у KeePass. И как выяснилось, почти половина пользователей этого менеджера паролей о ней не знала. Там речь шла о порядке записей в результатах поиска. Сегодня - о вводе в браузерах, причем без плагинов KeePass.
На картинке↓ настройки автоматического ввода, где цифрами отмечены ключевые. Пункты 2 и 3 по сути относятся только к браузерам. Давайте разберем их на примере входа в GitHub https://github.com/login
1️⃣ В заголовке окна есть совпадение с названием записи KeePass
Здесь заголовок - Sign in to GitHub · GitHub
. Поэтому сработает любое из этих слов в названии записи KeePass - например, Sign in
и GitHub
. Но во избежание ложных срабатываний лучше использовать что-то уникальное - строку целиком или ее существенную часть.
Это - самый удобный способ, но не лишенный недостатков. С ними я регулярно сталкиваюсь в рабочей среде. Например, заголовок страницы авторизации у разных внутренних веб-сервисов одинаковый - Sign in
. Или он более информативный, но одинаковый в разных средах разработки ПО - Dev, QA, Integration.
2️⃣ В заголовке окна есть URL целиком из записи KeePass
Это - большая редкость, т.к. сайтам нет смысла прописывать адрес страницы в её заголовок. И как раз это я разберу подробнее чуть ниже.
3️⃣ В заголовке окна есть домен, который присутствует в URL из записи KeePass
Это чаще встречается у иностранных сайтов. Допустим, прописав https://www.google.com/ в поле URL, вы сможете входить на любой странице сервисов компании. Потому что слово Google
есть в заголовке страницы и в поле URL. С GitHub та же история. Но у прочих сервисов Microsoft такое не сработает, равно как у Яндекс и Госуслуг.
////
В итоге пункт 2 выглядит самым бесполезным, однако он очень перспективный! Как справедливо заметил в чате dartraiden
, если в KeePass корректно заполнено поле URL, задача сводятся к тому, чтобы прописать URL веб-страницы в её заголовок 👈
И она элементарно решается с помощью расширений для Chromium и Firefox.
Однако мне не нравится, что только ради этого расширение получает право читать и изменять данные на всех сайтах. Поэтому я предпочел более контролируемый вариант - скрипт для Tampermonkey 🐵 Сходу нагуглился такой. Из коробки результат страшноват, но это легко допилить. И не забыть отключить автоматическое обновление скрипта!
С браузерами разобрались, но остается проблема с однотипными окнами Sign in
в других приложениях. Она, кстати, недавно обострилась у меня на работе. И я обязательно поделюсь решением в канале ✌️
🤦♂️ Ловушка MBR для продуктовой группы Microsoft
Сегодня в рубрике "Возвращаясь к напечатанному" эпичная ошибка в статье базы знаний (MSKB) KB5028997. А также на всех сайтах, которые перепечатали эту инструкцию по ручному увеличению раздела для установки обновления WinRE. Тысячи их ©
⌛️ История и контекст
В январе 2024 года Microsoft выпустила обновление безопасности для среды восстановления Windows 10. Однако у многих оно не устанавливалась из-за слишком маленького раздела RE. В связи с чем компании пришлось выпустить инструкцию по его увеличению.
Тогда же я опубликовал в блоге большой FAQ, который поможет вам освежить память. Чтобы проникнуться эпичностью ошибки в MSKB, нужно понимать, зачем RE размещают на отдельном разделе:
Это необходимо для восстановления при включенном шифровании BitLocker. Если среда на разделе с ОС, в нее невозможно загрузиться с зашифрованного раздела. В этом случае для входа в Windows RE понадобится установочный диск.
🐞 Суть ошибки
О ней мне рассказал читатель блога Артём. Он следовал инструкциям в разметке MBR и обнаружил, что в итоге среда восстановления оказывается вовсе не на увеличенном разделе RE, а на разделе с Windows! Сопоставив инструкцию Microsoft с материалами моего блога, Артём вышел на причину ошибки - она в шаге 5.
На шаге 5a создается новый раздел. И, что несколько необычно, в команде создания сразу указывается GUID, задающий тип раздела (управление служебными атрибутами я подробно разбирал в блоге). Дальше на шаге 5b раздел форматируется в NTFS.
В разметке GPT форматирование раздела не затрагивает его служебный идентификатор (см. строки 84-105). Но в разметке MBR ИД 0х27
после форматирования сбрасывается. И раздел становится обычным, с ИД 0х7
! 🙈 Я демонстрирую это на картинке↓
Дальше включается среда восстановления, и образ должен оказаться на разделе Windows RE. Но поскольку правильного ИД у него нет, по алгоритму образ размещается на разделе с ОС - в папке C:\Recovery
.
Разумеется, после этого злосчастное обновление RE устанавливается без проблем - ведь на разделе Windows полно места :) Но это делает бессмысленным всё мероприятие! Поскольку при таком раскладе в RE не загрузиться с зашифрованного диска.
⚙️ О важности тестирования
Я не случайно упомянул ресурсы, перепечатавшие инструкцию. Так, я ссылался на русскоязычный гайд COMSS в своем FAQ - там много картинок, всё как вы любите :)
Безымянный автор тщательно проследовал по шагам на MBR (!) и ничего не заметил. Хотя на первом и последнем скриншоте командной строки с выводом утилиты reagentc
видно, что среда восстановления в итоге переехала с partition3
(RE) на partitoin2
(Windows).
Я, кстати, протестировал инструкцию Microsoft, прежде чем советовать её. Но только на GPT. С MBR у меня сейчас и виртуалок-то нет. Видимо, так же обстоят дела и у продуктовой группы, которая опубликовала инструкцию в MSKB :)
В заключение я просто оставлю здесь практические советы по переходу с MBR на GPT ✌️
⚙️ Новое в блоге: Edge - быстрая настройка браузера и отключение раздражителей скриптом
Microsoft Edge — мой основной браузер, и в целом он меня устраивает. При этом есть набор параметров, которые я всегда изменяю на своих многочисленных системах, в том числе экспериментальных ВМ.
👉 Я предпочитаю групповые политики Edge по ряду причин:
- быстрое массовое применение настроек
- наличие параметров, не доступных в графическом интерфейсе (например, первый запуск браузера)
- блокирование маркетинговых функций (если фича отключена, ее и продвигать не должны)
Я неоднократно публиковал в канале отдельные политики в виде команд reg add. Сегодня я делюсь полным скриптом #PowerShell для быстрой настройки Edge 🎉
На картинке вид новой вкладки при первом запуске браузера (или нового профиля) после применения скрипта.
➡️ Читайте в блоге: https://www.outsidethebox.ms/22326/
💾 Об окне форматирования томов в Windows
На этой неделе все профильные и даже непрофильные каналы потешаются над Microsoft - мол, за 30 лет так и не обновили древний диалог 🤡
Отдельно доставило глумление над UX, который в этом окне абсолютно нормальный для классического Win32. Попадались даже придирки к непоследовательности двоеточий в названиях элементов. Да, техническим писателям или инженерам QA это бросается в глаза. Но предъявлять за такое махровому легаси... 🙄
Ноги у веселья растут из твита Дэйва Пламмера, бывшего разработчика Windows, который когда-то этот диалог и написал на коленке. Сейчас он на пенсии развлекает публику такими вот историями.
👉 При этом петросяны массово не в курсе, что диалог уже обновили! Вот же он на картинке↓ - с тёмной темой и масштабированием. Даже опция сжатия тома появилась. И с двоеточиями нет проблем.
Управление дисками начали добавлять в Параметры еще летом 2020 года, в сборке Windows 10 20197. Фичу долго мариновали в предварительных версиях, и в Windows 10 она уже не попала. Однако точный момент появления в Windows 11 трудно определить.
Разумеется, никто не будет вносить изменения в древний диалог. Ну, поправит вам разработчик двоеточия, сделает юнит-тест. А регрессионного тестирования-то нет. И вот уже ничего не форматируется 🤔
И убирать старое окно не стали намеренно. Потому что привычка вызывать его из контекстного меню диска у многих выработана годами. Можно автоматически перекидывать в Параметры, но в данном сценарии UX лучше не станет. А если еще и новый диалог сразу не открыть, пользователь точно отложит кирпич 🧱
Поэтому никуда не денется и оснастка управления дисками, не говоря уже о diskpart
. Microsoft много за что можно предъявить. Но компания точно впереди планеты всей по длительности поддержки старых функций и хранения в системе разнообразного легаси. Да, выглядит оно несовременно и не масштабируется. Зато лежит под рукой и работает ✌️
⚙️ Нюансы очистки записей в окне "Выполнить" (Run)
Сегодня в рубрике "Возвращаясь к напечатанному" очистка истории окна "Выполнить". Участник чата @Xodiak прочел в блоге мою статью и заметил, что там не раскрыта тема удаления отдельных записей из истории окна Run.
Статья в принципе была про адресную строку проводника, поэтому описывала только ее путь в реестре. Я добавил туда раздел реестра RunMRU
, дописал "Run" в заголовок статьи и счел тему закрытой.
Однако спустя пару дней Андрей Шубин
спросил, как удалить оттуда записи, которые начинаются с ms-
, типа ms-gamebar://
. История ввода в окно была очищена, но эти подсказки никуда не делись.
👉 Решение немедленно подсказал 4eL0wEk
- очистить журнал автозаполнения! В пуск поискать Internet Options (Свойства браузера), а дальше см. картинку↓
Вы догадались, об истории какого браузера тут речь? 😎 Да, это Internet Explorer, которого как бы уже нет в Windows. На самом деле он никуда не делся. Его несложно запустить и убедиться в наличии этих записей в истории "этого компьютера".
В журнал эти записи попадают при вызове различных приложений системы, связанных с той или иной ссылкой ms-
. Так, игровая панель Xbox связана в Параметрах с типом ссылки URL:ms-gamebar
. И каждый раз, когда я жму Win+G
, в журнал IE вносится запись об этом! Я нередко нажимаю это сочетание клавиш случайно, поэтому записей хватает :)
С момента обсуждения этой темы в чате прошло уже больше месяца. А пару дней назад я делился ссылкой на другую свою полезную статью - про автоматическую подсказку и подстановку команд. Я исторически включаю автоподстановку, чтобы максимально быстро 🚀 открывать из Win+R
оснастки (devmgmt, diskmgmt), regedit и прочие утилиты из PATH.
Внезапно я заметил, что в конце этой статьи таки раскрыта тема удаления отдельных записей из окна Run. Да и про историю IE там тоже написано... еще 13 лет назад! Как всегда, новое - это хорошо забытое старое ✌️
👉 Сегодня у меня для вас #рекомендация - мероприятие Войти_в_IT от команды CyberYozh Academy.
На онлайн-конференции, которая пройдет с 20 по 28 июня, выступят руководители направлений VK, СберТех, HH, RuTube и других компаний.
🔥 Главная фишка в том, что вы сможете оставить заявку на стажировку или работу в этих компаниях!
Участие полностью бесплатное, а расписание можно посмотреть здесь.
📢 Об отзывах к документации Microsoft
Эпичную ошибку в статье базы знаний Microsoft исправили спустя пару недель после или даже вследствие моего поста. Читатель, рассказавший мне об ошибке, ранее сообщил о ней в Microsoft через форму обратной связи под статьей. Свой пост я опубликовал лишь через месяц после нашего разговора, и за это время никаких изменений в статье не было.
👉 Я в принципе не верю в эффективность форм отзывов под статьями - у них нет механизма отслеживания и публичной ответственности.
📃 Далее речь пойдет о статьях документации https://learn.microsoft.com/
TL;DR
Фидбэк в репозиторий команды документации больше не принимается. Вместо него новая форма обратной связи.
Long version
В документации исторически была упрощенная форма для отзывов. Но с покупкой GitHub компания решила переосмыслить подход к обратной связи. В некоторых разделах документации для продуктов с открытым исходным кодом появилась возможность открыть тикет по содержимому статьи. На сегодня пример можно посмотреть внизу этой страницы.
Такой тикет создается в репозитории продуктовой группы (ПГ). В репо команды документации можно было открывать тикеты на статьи, у которых не было прямой связи с ПГ. О подноготной этого процесса я узнал случайно.
Вадимс Поданс весной 2020 года занёс тикет, который спустя 9 месяцев бездействия закрыли, предложив создать новый, если проблема еще актуальна. Тезка отложил кирпич 🧱 мне в личке, а я - в Твиттере, пнув команду документации. И в итоге документ даже исправили.
🙉 Исходя из ответов доктим в Твиттере, порядок работы у них был такой:
1/ На каждую проблему в своем репо GitHub они создавали тикет во внутренней системе и пытались достучаться до ПГ.
2/ Если ПГ было наплевать, тикет висел мертвым грузом не только внутри, но и снаружи. А это плохой пиар!
3/ Поэтому таким нехитрым способом решили сократить количество открытых тикетов в GitHub.
Но проблему появления новых тикетов это не устраняло. В итоге придумали кардинальное решение. Отказались от тикетов в репо доктим, а взамен сделали расширенную форму обратной связи 👏
О планах сообщили ограниченному кругу лиц еще в декабре 2022 года. Сейчас под некоторыми статьями висит объявление, что в 2024 году постепенно заменят виджет GitHub на новую форму. Там в зависимости от выбора 👍Yes или👎No меняется список категорий (пример внизу этой страницы). Для локализованной документации есть пункт "Качество перевода".
Замечу, что вверху страниц есть кнопка 👍Feedback, которая открывает упрощенную форму. Однако она переобувается в расширенную форму, если хотя бы раз открыть таковую внизу этой же страницы 🤡
ℹ️ Об изменении подробнее рассказывают специальная страница. Для нескольких ПГ (втч .NET, PowerShell), желающих получать отзывы на документацию в свой репозиторий, все остается по-прежнему. Но у прочих разделов документации новая форма будет основным способом отправки фидбэка.
В некоторых разделах сохраняется возможность быстрого редактирования в браузере и отправки "запроса на вытягивание" ;) Но так можно исправить только опечатки либо явные ошибки, когда точно знаешь истину.
В общем, хорошая и актуальная документация - это очень сложно✌️
⏯ Как открыть конкретный файл в приложении, отличном от приложения по умолчанию
В чате Елена задала любопытный и на редкость четко сформулированный вопрос:
Необходимо всегда открывать конкретный файл в приложении, отличном от приложения по умолчанию для данного типа файлов. Все, что нашла - изменить приложение по умолчанию для данного типа файлов. Мне же нужно, чтобы только один единственный файл из всех файлов одного типа открывался в другом приложении.
И пояснила:
Например: все видеофайлы открываются в приложении VLC Media Player. Один файл нужно открывать всегда в приложении КИНО и ТВ. Все остальные в приложении VLC.
Первый ответ был: "это невозможно". Второй: "можно через батник". Это уже теплее, но есть нюанс © Даже три!
1. Пользователь батниками не владеет, т.е. писать его придется вам.
2. "Кино и ТВ" - это UWP-приложение. Их вы вряд ли запустите из командной строки без гугла.
3. Конкретно это приложение не принимает путь к файлу в качестве параметра командной строки ❌
Однако задача легко решается в соответствии с девизом блога!
1️⃣ Первым делом я посоветовал Елене одну из любимых фич Windows: перетаскивание - файла на плеер. Оказалась, она сама дошла до этого, но все-таки хотела бы назначить конкретное приложение.
2️⃣ Тогда я предложил другой вариант. Надо изменить расширение файла на такое, которое не связано с VLC. Или ассоциировано с ним, но у вас не в ходу. Тут главная хитрость в том, чтобы выбирать тип файла, для которого уже зарегистрировано приложение Кино и ТВ. Например: 3gp
, asf
, m2t
. А дальше - "Открыть с помощью", и в списке будет нужный плеер.
Если же указать случайное расширение abc
, Windows предложит↓ на выбор блокнот и... классический Windows Media Player! Идея в том что в непонятной ситуации первый справится с текстовыми файлами, а второй - с медиа. Может, когда-нибудь заменят его тут на современный WMP, бывший Zune Music 😎
Оставшиеся два варианта в диалоге "Открыть с помощью" бесполезны. Поиск в магазине просто открывает магазин. Обзор на компьютере рассчитан на классические исполняемые файлы. У Кино и ТВ есть exe
, но для него предусмотрена работа только в контейнере.
⚙️ Впрочем, вариант с abc
заработает, если клонировать HKCR\.3gp
в HKCR\.abc
. Это зарегистрирует тип файла в реестре и свяжет его с теми же приложениями. Наряду с 3gp
сгодится любое расширение, с которым уже связано Кино и ТВ.
Строго говоря, я предложил обходной путь нежели решение в лоб. Однако Елену результат очень обрадовал. Ведь она сама все легко сделала без плясок с батниками и реестром 🎉 Однако меня мучило любопытство, зачем это нужно.
Интерфейсы у плееров разные. Под кино и ТВ фитнесом занимаюсь, удобно. А VLC для учебы.
И тут нет ничего смешного. Так совпало, что в этот же день у меня из системы выпилили старый почтовый клиент UWP, а вместо него установился новый Outlook for Windows. Не то чтобы старый клиент был хорош, но новый совсем никуда не годен 🤦♂️
Взамен я настроил дома Outlook из состава Microsoft Office. Впервые в жизни (!) и скрепя сердце. Потому что он... для работы! Впрочем, для нескольких писем в неделю сойдет ✌️
💡 О каких фишках Windows и ПО Microsoft вы жалеете, что не узнали пораньше?
Я достаточно давно ковыряюсь в Windows, слежу за темой, поэтому меня трудно удивить. Бывает, нахожу новые фичи, о которых успел забыть! Иногда даже обнаруживаю их упоминания в своем блоге :)
Поэтому свой топ-3 я составил не без труда.
🥇 В MS Office двойной щелчок по значку "Формат по образцу" позволяет применять его многократно. Да, я достаточно долго тыкал в кнопку каждый раз 🤷♂️
🥈 В диалоговом окне "Открыть" в поле "Имя файла" можно вставлять скопированный файл по Ctrl+V
, и туда вставится его путь! Зачастую в файловом менеджере папка с файлом уже открыта или до него проще добраться, чем из диалогового окна. Я регулярно заливаю файлы в интернет таким способом, видео ⬇️ С файлами из интернета тоже работает!
🥉 Ctrl+Z
может работать даже там, где не указано явно. Например, в проводнике возвращает на место удаленный файл. Надо пробовать!
А это топ-3 реакций коллег по работе на мои советы.
1️⃣ История буфера обмена в Windows - Win+V
. Да, он в подметки не годится продвинутыми менеджерам вроде Charu или Ditto. Но даже это в разы лучше чем ничего.
2️⃣ Вертикальные вкладки браузера - например, в Edge. Когда у вас несколько вложенных сессий RDP, их панели вверху экрана либо постоянно перекрывают вкладки браузера, либо выезжают в ненужный момент. Перемещение вкладок вбок отлично решает эту проблему.
3️⃣ Скрипты #PowerShell. Даже простой однострочник может творить чудеса. Дзен наступает, когда скрипт выполняет за 10 секунд работу, на которую раньше уходило полчаса. Иногда достаточно просто показать человеку путь на конкретном примере.
📢 В обсуждении поделитесь топом своих открытий! Не удивлюсь, если о каких-то вы узнали из моих публикаций ;)
🏃♂️ Запуск программ от имени администратора из диалога Run (Выполнить)
Вопрос из форума. Срыва покровов тут нет, но всегда найдутся те, кто не в курсе новинок 6- и 15-летней давности :)
👉 Ctrl + Shift + Enter
!
Разумеется, запрос UAC появится. Это #классика канала, см. здесь контекст и дополнительное ускорение. Жаль, что в адресную строку проводника это не прикрутили. Ведь там текущий путь передается в консоль.
ТС однако ответ не устроил, ибо не работает в 1607 🤦♂️ Что ж, можно и поглубже копнуть. Есть классика времен в Windows 7 - запуск из планировщика, причем без запроса UAC! Поскольку ссылка не у всех откроется где надо, скопирую суть сюда.
🕑 В планировщике создаётся задание:schtasks /Create /RL Highest /TN Run /SC ONCE /ST 14:00 /TR "cmd.exe /c start %WINDIR%\SysWOW64\rundll32.exe shell32.dll,#61"
И запускается:schtasks /run /tn Run
Для этой команды можно сделать ярлык, закрепить на панели задач и/или повесить на него сочетание клавиш.
▶️ Вне диалога "Выполнить" для отдельных приложений запуск с полными правами можно форсировать так:
🔹 В свойствах EXE на вкладке "Совместимость" или в свойствах ярлыка - "Дополнительно" поставить флажок "Запускать от имени администратора".
🔹 Задействовать в #PowerShell командлет Start-Process
и его глагол RunAs
: powershell -ex bypass -command Start-Process notepad -Verb RunAs
Разумеется, для этой цели есть и другие встроенные способы (да хоть VBS с тем же глаголом), а также куча сторонних утилит.
#Классика блога в тему:
🔸 Как выполнять задачи с полными правами обычным пользователем без ввода пароля администратора
🔸 Как выполнять команды и скрипты от имени системы средствами Windows
🔸 Как выполнять скрипты с правами TrustedInstaller без сторонних утилит
Сегодня у меня для вас #рекомендация — два полезных канала для системных администраторов:
🔐 infosec — литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
👨💻 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
🔒 Гадание по картинке: доступ из-под Linux к зашифрованному тому BitLocker
Обычно я гадаю по логам, но на сей раз участник чата Michael отправил только картинку с описанием:
UEFI, TPM2. Windows 10 21h2. При попытке читать раздел C: с Linuxа спрашивает пароль. Раздел определяется как "BitLocker". При этом винда утверждает, что битлокер для C: отключен (насколько я понял, т.к. там только надпись: "turn BitLocker on"). Что делать-то?
Я ничего не знал про поддержку BitLocker в Linux, но товарищ dartraiden сразу подтвердил ее наличие. Тогда происходящее вполне объяснимо, если поверить Linux.
А вот что там "винда утверждает" - вопрос. Поэтому я запросил состояние BitLocker:manage-bde -status c:
Michael с ответом не спешил, но вполне можно разобраться даже по имеющейся скудной информации. Важно сочетание трех фактов:
🔹 Linux требует пароль от BitLocker.
🔹 При запуске Windows этот пароль не запрашивается. Иначе бы автор вопроса знал его наизусть, а по факту...
🔹 Он вообще ничего не знает про это шифрование.
Отсюда мои предположения:
🔸 Включилось автоматическое шифрование устройства, раз человек не в курсе. TPM 2.0 сочетается с ПИН- кодом и аппаратным ключом, но не с паролем при запуске.
🔸 При таком раскладе Michael может предложить Linux только 48-значный пароль восстановления. Иногда его ошибочно называют ключом восстановления (это - другое).
🔸 Не покидая Linux, извлечь этот пароль он может из облачных настроек учетной записи Microsoft (MSA), если уже входил с ней в Windows. В любом случае в Windows можно посмотреть это командой
manage-bde -protectors -get c:
Всё это мы обсудили даже без автора вопроса :) А когда он наконец вернулся, оказалось, что шифрование таки есть:Volume C: []
[OS Volume]
Size: 138.17 GB
BitLocker Version: 2.0
1️⃣ Conversion Status: Encryption in Progress
Percentage Encrypted: 90.5%
Encryption Method: XTS-AES 128
2️⃣ Protection Status: Protection Off
Lock Status: Unlocked
Identification Field: Unknown
3️⃣ Key Protectors: None Found
Процитирую свою статью об автоматическом шифровании:
Во время чистой установки по окончании этапа OOBE шифрование раздела с ОС и прочих несъемных дисков инициализируется с незащищенным ключом и приостанавливается. Когда первый вход выполняет администратор с MSA, шифрование активируется и защищается TPM. Одновременно 48-значный пароль восстановления сохраняется в облачных настройках MSA.
Я почти угадал! 🎉
По пунктам:
1. Диск еще не полностью зашифрован, а значит система была установлена совсем недавно. О незавершенном шифровании догадаться по картинке было невозможно.
2. Защита отключена. Michael еще не входил с MSA. Еще бы - потом выяснилось, что у него LTSC N 🌈
3. Предохранителей нет. После входа с MSA в списке предохранителей появляются TPM и Recovery Password.
🐧 С Linux же получается зачетная нестыковка, которая вызвана именно автоматическим шифрованием Windows. Зашифрованный диск не защищен, потому что не имеет предохранителей. Однако для доступа к диску Linux требует один из них - пароль. Пользователь же о нем понятия не имеет :)
Оставался лишь вопрос, примет ли Linux 48-значный пароль восстановления. И дальнейший тест это подтвердил! Обе ОС работают штатно.
////
С осени подобных случаев будет множество. Причину я буду разбирать отдельно. Не переключайте каналы ✌️
❌ Об ошибках в журналах событий Windows
Помимо пристрастия к чистке реестра есть еще один тип виндовой озабоченности, хотя и менее распространенный. Это устранение ошибок из журналов событий. Читатель блога WhiteRabbit
попросил в почте разобраться с некой ошибкой, но даже с двух попыток не смог объяснить, в чем конкретно проблема. В смысле, проблемой он считал сам факт наличия ошибки в журнале 🙄
Это не так работает. У журналов событий три основных применения:
🔹 Проверка работы конкретных процессов или компонентов, аудит и прочий превентивный мониторинг. Это больше свойственно организациям.
🔹 Изучение работы Windows. Выполнили какое-то действие - посмотрели, что записалось в журнал.
🔹 Устранение неполадок. Это самый распространенный сценарий. Однако здесь изначально должна быть какая-то проблема 👈 Далее вы используете журнал событий в качестве диагностического средства, чтобы выйти на причину проблемы. Примеры в канале: раз, два.
В многочисленных журналах регистрируются тысячи ошибок. В моей системе #PowerShell насчитал↓ 463 обычные и критические ошибки за последние 24 часа, треть из которых Windows провела во сне. Но многие по сути даже не являются ошибками!
Например, у меня практически каждая перезагрузка основной ОС сопровождается событием 100 с критической ошибкой. Система перезапускается в основном для установки обновлений. Поэтому длительность процесса выходит за рамки нормы. Ну и ладно, я вообще в это время сплю!
ℹ️ В базе знаний Microsoft описано немало безвредных ошибок, которые можно можно смело игнорировать. Вот некоторые примеры. Видимо, объем обращений по ним в поддержку вынудил продуктовые группы отразить это в документации.
Резюме: жизнь слишком коротка, чтобы пытаться устранить все ошибки в журналах событий Windows ✌️
⚙️ Новое в блоге: Как убрать ненужные программы из контекстного меню Windows
Проводник Windows 11 получил новое контекстное меню и способы интеграции приложений в него. Поначалу в меню было пустовато. Но со временем разработчики освоились и начали добавлять туда свои программы.
Сегодня я расскажу, как убрать ненужные пункты, чтобы улучшить UX и ускорить открытие меню. И нет, старые утилиты от NirSoft вам с этим не помогут.
В этой статье:
🔹 принцип регистрации в новых меню (а заодно и в старых, т.е. в Windows 10)
🔹 ручной способ удаления ненужных программ
🔹 скрипт #PowerShell для быстрого удаления 🚀
🔹 различные нюансы
➡️ Читайте в блоге: https://www.outsidethebox.ms/22361/
Хотите сэкономить деньги, выбрав квартиру в Москве?
Подписывайтесь на закрытый канал независимого аналитика Андрея Негинского о столичном рынке недвижимости.
1️⃣ Тут каждый день появляются варианты квартир, которые для вас не найдет ни один риэлтор.
2️⃣ Негинский дает подробное описание каждого объекта вместе с ценами, плюсами и минусами проекта.
3️⃣ Еще он публикует разборы новостей рынка, которые помогут купить квартиру на лучших условиях.
У Негинского вышел подробный гайд по ипотеке в 2024. Все льготные программы, условия и причины отказа банков. Подписывайтесь на канал neginskiy_msc и забирайте руководство в закрепе.
⚙️ Облачная переустановка поверх в параметрах Windows 11
Осенью 2019 года в Windows появилась функция облачного сброса. Тогда я доставил ПМу, что куда полезнее была бы функция переустановки поверх, которая сохраняет программы и настройки в отличие от сброса.
По его просьбе я отправил развёрнутые аргументы в центр отзывов, и ныне удаленное предложение набрало более 100 голосов 👍 Это очень много для такой технической функции. На русском языке я озвучил тезисы в канале. Прочтите их, чтобы прочувствовать важность фичи!
🎉 И спустя 4.5 года в параметрах появилась облачная переустановка поверх!
Фичу доставили в рамках обновления Moment 5. Она описана в статье базы знаний KB5036436. Помимо прочего там:
• отмечается, что в центре обновления может появиться предложение выполнить облачную переустановку в случае неудачной установки исправлений
• приводится список условий и групповых политик, при наличии которых функция недоступна
🔄 Прогресс загрузки установочных файлов и ход установки отображаются в центре обновления. В целом - это стандартный процесс переустановки поверх, хотя и без присущих ему экранов. Кстати, в РФ фича обретает дополнительную ценность на фоне препятствий загрузке MCT и ISO.
Но есть и ложка дегтя 🤷♂️ Поскольку процесс завязан на Windows Update, неподдерживаемые конфигурации блокируются. И не прокатит обходной путь AllowUpgradesWithUnsupportedTPMOrCPU, т.к. он для установки с флэшки.
Так или иначе, фича ценная, и новость отличная! #Классика блога про переустановку поверх обновлена ✌️
▶️ Простой пример оптимизации скрипта #PowerShell с помощью хэш-таблицы
Первые два отзыва на мой скрипт для настройки браузера Edge с помощью политик были критические. Мне попеняли на его перегруженность множеством вот таких↓ однотипных команд. Действительно, в них отличаются только названия параметров и значения, а всё остальное неизменно.New-ItemProperty -Path $path -Name HideFirstRunExperience -Type Dword -Value 1 -Force | Out-Null
Но эта история изначально была не про PowerShell, а про коллекцию политик. В скрипте же я исходил из того, что многих заинтересуют лишь некоторые твики. И такие люди будут копипастить отдельные строки прямо с веб-страницы в консоль. Я сам так неоднократно делал :)
👉 Если же не думать об этих людях и задействовать фирменные возможности PowerShell, скрипт получится намного аккуратнее и компактнее. К таким фичам относятся хэш-таблицы. Причём дальше примера из справки ходить не надо.[hashtable]$hash = @{
HideFirstRunExperience = 1
AutoImportAtFirstRun = 4
BrowserSignin = 0
}
foreach ($key in $hash.keys) {
New-ItemProperty -Path $path -Name $key -Type Dword -Value $($hash[$key]) -Force | Out-Null
}
Хэш-таблица создается первой строкой и далее наполняется парами "параметр = значение". В реестр изменения вносятся с помощью выражения foreach
- перебором всех пар.
Все прочие аспекты скрипта неизменны. Я добавил в архив версию с хэш-таблицей ✌️
📉 О производительности оболочки Windows
К сожалению, в Windows 11 обертка проводника получилась тормозной. И новые контекстные меню тому лучшее свидетельство. Они открываются с заметной задержкой, а пункты некоторых приложений иногда даже не отображаются с первого раза 🤦♂️
С видимыми лагами сопряжен и прямой вызов старого меню, в том числе из сторонних файловых менеджеров. При этом в моих замерах классика появляется примерно на треть быстрее нового меню 👈
Хотя с первого выпуска Windows 11 прошло уже больше двух лет, существенных улучшений в производительности не наблюдается. Прикручивание к проводнику бессмысленных вкладок только усугубило ситуацию. И окончательно подвигло меня к возврату на 💾Total Commander после многолетнего перерыва.
🙄 Однако команда оболочки Windows делает вид, что проблемы нет, и такие тормоза — нормально!
Недавно я заинтересовался темой удаления ненужных приложений из контекстного меню. Изначально я даже не думал об ускорении - просто кто-то спросил в чате, как убрать лишние пункты. Но реализовав решение, я не преминул сравнить скорость открытия меню до и после удаления всех зарегистрированных в нем программ.
Исключение шести программ из меню ускорило его открытие в проводнике примерно в три раза❗️ У классического меню, вызываемого из Total Commander, разница была не столь драматичная, но все равно без программ оно открывалось на 23% быстрее.
Я тестировал MP3-файлы вне сферы облачного диска OneDrive. Конкретно с этим типом файлов были связаны две программы из шести. Остальные четыре были сопоставлены с любыми файлами.
Разумеется, скорость может сильно варьироваться в зависимости от железа, набора программ в меню и типа файлов. Но у меня нет никаких сомнений, что сейчас производительность вывода программ и прочих элементов контекстного меню ниже плинтуса 👎
Отдельно доставляет, как значки команд подгружаются уже после отображения всех пунктов меню. В ролике↓ скорость воспроизведения сначала 100%, а потом замедлена до 30%, чтобы получше рассмотреть происходящее. Первый вызов меню всегда неприемлемо тормозной, даже если несколькими минутами ранее я уже открывал его в том же окне.
📊 Недавний опрос читателей показал, что как минимум 6 из 10 человек не устраивает скорость открытия меню и/или лишние пункты в нем. Скоро я опубликую в блоге статью с подробными инструкциями по зачистке от ненужных программ контекстного меню в Windows 11 и 10. Там будет скучный ручной метод и быстрый скрипт для тех, кто не боится консоли.
Но в любом случае полная очистка контекстного меню ради ускорения не имеет смысла. Многие программы там нужны, их выпиливание лишь замедлит выполнение пользовательских задач. Проблему должны решать разработчики Windows! ✌️
Как создать 9 цифровых сотрудников за 5 уроков?
Нейросети могут стать вашими незаменимыми сотрудниками. Особенно если вы знаете, как обучить их выполнять свои задачи.
📎 Вы сможете делегировать:
– планирование рекламной кампании
– создание постов для соцсетей
– генерацию картинок
– анализ целевой аудитории
– рекламные креативы
– и многое другое
Регистрируйтесь на бесплатный курс от команды Университета искусственного интеллекта.
🤖 За 5 уроков по ChatGPT вы научитесь грамотно составлять промпты и узнаете, как создать своего нейро-помощника для продаж, маркетинга и других задач. Бесплатный доступ сразу после регистрации
Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8KFrZg
⚙️ winget: исключение приложений из массового обновления
Сегодня в рубрике "Возвращаясь к напечатанному" команда pin
менеджера пакетов winget. Разбирая нюансы автоматического обновления приложений осенью 2022 года, я сетовал на отсутствие такой фичи в winget. Ее добавили летом 2023 года в качестве отдельной команды.
Документация имеется, но ввиду ее автоматического перевода на русский язык прокомментирую три варианта исключений тут.
🔹 Закреплениеwinget pin add powertoys
Вместо имени пакета можно использовать --id
. Команда исключает приложения из обновления командой winget upgrade --all
, но позволяет включить их разово ключом --include-pinned
. Также работает обновление отдельного пакета: winget upgrade powertoys
.
🔹 Блокировкаwinget pin add powertoys --blocking
В этом случае обновление пакета (отдельно или массово) возможно лишь с ключом --force
либо после снятия закрепления: winget pin remove powertoys
🔹 Диапазон версийwinget pin add --id powertoys --version 0.70.*
Здесь все версии 0.70.ххх
не будут обновляться. Обход ключом --force
.
Наконец, можно посмотреть все исключения:winget pin list
А также массово сбросить их:winget pin reset --force
#Классика блога обновлена. Но помимо команды pin
есть и другие улучшения. В ближайшее время я еще раз обновлю статью и расскажу об этом в канале ✌️