TG Telegram Group Link
Channel: Windows 11, 10, etc - Вадим Стеркин
Back to Bottom
⚙️ Облачная переустановка поверх в параметрах Windows 11

Осенью 2019 года в Windows появилась функция облачного сброса. Тогда я доставил ПМу, что куда полезнее была бы функция переустановки поверх, которая сохраняет программы и настройки в отличие от сброса.

По его просьбе я отправил развёрнутые аргументы в центр отзывов, и ныне удаленное предложение набрало более 100 голосов 👍 Это очень много для такой технической функции. На русском языке я озвучил тезисы в канале. Прочтите их, чтобы прочувствовать важность фичи!

🎉 И спустя 4.5 года в параметрах появилась облачная переустановка поверх!

Фичу доставили в рамках обновления Moment 5. Она описана в статье базы знаний KB5036436. Помимо прочего там:

• отмечается, что в центре обновления может появиться предложение выполнить облачную переустановку в случае неудачной установки исправлений
• приводится список условий и групповых политик, при наличии которых функция недоступна

🔄 Прогресс загрузки установочных файлов и ход установки отображаются в центре обновления. В целом - это стандартный процесс переустановки поверх, хотя и без присущих ему экранов. Кстати, в РФ фича обретает дополнительную ценность на фоне препятствий загрузке MCT и ISO.

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

Так или иначе, фича ценная, и новость отличная! #Классика блога про переустановку поверх обновлена ✌️
🔒 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 в других приложениях. Она, кстати, недавно обострилась у меня на работе. И я обязательно поделюсь решением в канале ✌️
⚙️ Как настроить открытие ссылок в приложении YouTube Revanced без рута и ADB

Мой друг на новом телефоне возжелал привычный YouTube с фоновым воспроизведением. С установкой клиента Revanced проблем не возникло. Однако ссылки на видео все равно открывались в официальном приложении, которое нельзя просто взять и удалить. Телефон Xiaomi с MIUI, но такое возможно и с другими оболочками.

В настройках Android есть управление ссылками, но пляски с бубном вокруг обоих клиентов YouTube ни к чему не привели. Я спросил чат - Niks быстро доставил решение. И оказалось, что именно его я применил когда-то на своем телефоне, о чем успешно забыл 🤦‍♂️ Поэтому оставлю его здесь - в своей публичной записной книжке.

Процесс показан на видео, которое надо смотреть во весь экран.

1. Установите Better Open With.
2. В разделе Browser выберите из списка сайтов YouTube и задайте приложение для открытия ссылок.

Поскольку у обоих приложений одинаковые значки, Revanced определяется экспериментально. Чтобы не путаться, можно задать разные темы оформления✌️
⚙️ Новое в блоге: Как убрать ненужные программы из контекстного меню Windows

Проводник Windows 11 получил новое контекстное меню и способы интеграции приложений в него. Поначалу в меню было пустовато. Но со временем разработчики освоились и начали добавлять туда свои программы.

Сегодня я расскажу, как убрать ненужные пункты, чтобы улучшить UX и ускорить открытие меню. И нет, старые утилиты от NirSoft вам с этим не помогут.

В этой статье:
🔹 принцип регистрации в новых меню (а заодно и в старых, т.е. в Windows 10)
🔹 ручной способ удаления ненужных программ
🔹 скрипт #PowerShell для быстрого удаления 🚀
🔹 различные нюансы

➡️ Читайте в блоге: https://www.outsidethebox.ms/22361/
Об ошибках в журналах событий Windows

Помимо пристрастия к чистке реестра есть еще один тип виндовой озабоченности, хотя и менее распространенный. Это устранение ошибок из журналов событий. Читатель блога WhiteRabbit попросил в почте разобраться с некой ошибкой, но даже с двух попыток не смог объяснить, в чем конкретно проблема. В смысле, проблемой он считал сам факт наличия ошибки в журнале 🙄

Это не так работает. У журналов событий три основных применения:

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

🔹 Изучение работы Windows. Выполнили какое-то действие - посмотрели, что записалось в журнал.

🔹 Устранение неполадок. Это самый распространенный сценарий. Однако здесь изначально должна быть какая-то проблема 👈 Далее вы используете журнал событий в качестве диагностического средства, чтобы выйти на причину проблемы. Примеры в канале: раз, два.

В многочисленных журналах регистрируются тысячи ошибок. В моей системе #PowerShell насчитал↓ 463 обычные и критические ошибки за последние 24 часа, треть из которых Windows провела во сне. Но многие по сути даже не являются ошибками!

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

ℹ️ В базе знаний Microsoft описано немало безвредных ошибок, которые можно можно смело игнорировать. Вот некоторые примеры. Видимо, объем обращений по ним в поддержку вынудил продуктовые группы отразить это в документации.

Резюме: жизнь слишком коротка, чтобы пытаться устранить все ошибки в журналах событий Windows ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Гадание по картинке: доступ из-под 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-значный пароль восстановления. И дальнейший тест это подтвердил! Обе ОС работают штатно.

////

С осени подобных случаев будет множество. Причину я буду разбирать отдельно. Не переключайте каналы ✌️
🤔 Экраны этапа OOBE в процессе установки Windows 11 24H2

Мне это напомнило уличный ларек из 90-х (ссылка для юных :)

Такой UX при использовании учетной записи Майкрософт (MSA). С одной стороны, потому что с ней легче зайти во все эти сервисы без дополнительных телодвижений.

С другой, она теперь является частью системных требований в изданиях Home и Pro. То есть вход с локальным аккаунтом у потребителей уже не подразумевается 🤷‍♂️

Помимо прямой продажи сервисов здесь есть и наживка:
🔸 Включите бэкап камеры смартфона в #OneDrive и... приходите покупать у нас подписку поскорее.
🔸 Нажмите "Далее" на неприметном экране установки, а мы потом подтянем все данные из других браузеров в Edge.

И это только маркетинговая часть! Я не включил сюда экран с выбором целевого назначения компьютера, который ни на что не влияет. Еще на протяжении трех (!) экранов уговаривают восстановить настройки из резервной копии. Но это имеет хоть какой-то смысл 👌

Да, тут наверное не все новое. Но я так редко вижу процесс установки Windows, что всегда удивляюсь :) Как правило, я использую файл ответов, чего и вам советую! ✌️
Сегодня у меня для вас #рекомендациядва полезных канала для системных администраторов:

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

👨‍💻 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
🤷‍♂️ О трудностях перевода

В чате как-то всплыл вопрос об откате к предыдущей версии, и мы обратили внимание на странный заголовок сообщения на скриншоте: "Не заблокируйте". Звучит как одиннадцатая заповедь :) В оригинале "Don't get locked out".

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

В последние годы ситуация лишь усугубилась тем, что в мировой разработке ПО взят курс на менее формальный и как бы более человеческий стиль обращения к пользователям. Вот эти все "Ой, что-то пошло не так" 🙄

Однако цветастые выражения лишь затрудняют перевод, который выполняется с помощью инструментов, автоматизирующих процесс в той или иной степени. Допустим, здесь не #автоперевод. Но и человеку для таких "креативов" нелегко придумать ёмкий эквивалент. В чате предложили хороший вариант: "Не потеряйте доступ к ПК". Но есть нюанс ©

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

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

Так что, увидев следующий кривой перевод, подумайте, стоит ли обвинять в нем локализаторов. Возможно, собака зарыта поглубже - в оригинале ✌️
🏃‍♂️ Запуск программ от имени администратора из диалога 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 без сторонних утилит
Викторина: В утилите diskpart, какой командой НЕЛЬЗЯ посмотреть список разделов выбранного диска?
Anonymous Quiz
19%
list partitions
7%
list partition
2%
list part
41%
lis par
30%
Сработает любая из этих команд
▶️ Модуль 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}
}

Результат этого скрипта на картинке↓ Кстати, начиная с версии 1.20 установленный из магазина Terminal не должен обновляться, если запущен. Было много жалоб - например, убиваются удаленные сессии.

В общем, с этим модулем можно работать в каких-то сценариях. Разумеется, хотелось бы большего охвата нативных функций - например, команды show. Надеюсь, в будущем мы это увидим ✌️
💡 О каких фишках Windows и ПО Microsoft вы жалеете, что не узнали пораньше?

Я достаточно давно ковыряюсь в Windows, слежу за темой, поэтому меня трудно удивить. Бывает, нахожу новые фичи, о которых успел забыть! Иногда даже обнаруживаю их упоминания в своем блоге :)

Поэтому свой топ-3 я составил не без труда.

🥇 В MS Office двойной щелчок по значку "Формат по образцу" позволяет применять его многократно. Да, я достаточно долго тыкал в кнопку каждый раз 🤷‍♂️

🥈 В диалоговом окне "Открыть" в поле "Имя файла" можно вставлять скопированный файл по Ctrl+V, и туда вставится его путь! Зачастую в файловом менеджере папка с файлом уже открыта или до него проще добраться, чем из диалогового окна. Я регулярно заливаю файлы в интернет таким способом, видео ⬇️ С файлами из интернета тоже работает!

🥉 Ctrl+Z может работать даже там, где не указано явно. Например, в проводнике возвращает на место удаленный файл. Надо пробовать!

А это топ-3 реакций коллег по работе на мои советы.

1️⃣ История буфера обмена в Windows - Win+V. Да, он в подметки не годится продвинутыми менеджерам вроде Charu или Ditto. Но даже это в разы лучше чем ничего.

2️⃣ Вертикальные вкладки браузера - например, в Edge. Когда у вас несколько вложенных сессий RDP, их панели вверху экрана либо постоянно перекрывают вкладки браузера, либо выезжают в ненужный момент. Перемещение вкладок вбок отлично решает эту проблему.

3️⃣ Скрипты #PowerShell. Даже простой однострочник может творить чудеса. Дзен наступает, когда скрипт выполняет за 10 секунд работу, на которую раньше уходило полчаса. Иногда достаточно просто показать человеку путь на конкретном примере.

📢 В обсуждении поделитесь топом своих открытий! Не удивлюсь, если о каких-то вы узнали из моих публикаций ;)
HTML Embed Code:
2024/06/03 04:51:39
Back to Top