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

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

У меня есть #классика блога про установку и восстановление удаленного магазина с помощью сайта https://store.rg-adguard.net/. Но по факту инструкции применимы к загрузке любого магазинного приложения. Читатель Павел пожаловался в почте, что скачать пакеты не удается, на чем подробности у него закончились 🙄

Для начала я посмотрел в Chrome. Тот выдал предупреждение, что загрузка небезопасна, но это решилось парой щелчков мыши. В стабильной версии Edge загрузка пошла сразу. Но, видимо, не за горами поведение как в Chrome.

В Edge Dev все было жестче. При переходе по ссылке браузер выдал страницу NET::ERR_CERT_COMMON_NAME_INVALID. А при попытке продолжить - на новой странице с переменным успехом появлялись сообщение Our services aren't available right now или ошибка HTTP 400 (Bad Request) как на видео↓

👉 Я обратил внимание, что сервис генерирует для закачки пакетов ссылки HTTP, а браузер преобразует их в HTTPS.

Возможно, у читателя тоже была версия Dev или установлено расширение типа HTTPS Everywhere. Так или иначе, к форсированию HTTPS в разной форме постепенно движутся все браузеры. Кроме одного - Internet Explorer! :) Вы скажете, что его нет в Windows 11, но...

💡 Есть режим Internet Explorer (IE Mode) в Edge! И он работает из коробки в актуальных версиях Windows.

Поэтому я посоветовал Павлу зайти на сайт в Edge и при необходимости перезапустить вкладку в #IEmode. У него все получилось, а я добавил примечание в статью 👌
🔋 Новое в блоге: Как создать ярлык для отправки Windows в сон, когда получается только в гибернацию

У меня есть #классика канала Telegram с инструкциями по отправке Windows в сон сочетанием клавиш. Для этого нужна лишь правильная команда, и я рекомендую утилиту psshutdown.exe -d -t 0. А заодно объясняю, почему другой часто рекомендуемый метод с rundll32 не годится.

Но недавно за поддержкой обратился человек, у которого эти и аналогичные методы (nircmd standby, etc) не сработали на современном ноутбуке, шедшем с Windows 11.

➡️ Решение нестандартное, читайте в блоге: https://www.outsidethebox.ms/21609/
😎 Про установку #Windows11 с локальной учетной записью методом BypassNRO

Прием не новый, но раньше мне на глаза не попадался. Встретился он в таинственной формулировке, примерно такой: во время установки не подключайтесь к сети, на первом экране OOBE нажмите Shift+F10 и введите oobe\bypassnro. Магия! 🪄

Ларчик открывается просто. Сочетание клавиш запускает командную строку в папке C:\Windows\System32. В подпапку oobe разработчики заботливо положили файл bypassnro.cmd. Именно он и запускается командой, ибо расширение исполняемого файла указывать необязательно.

В файле две команды - внесение в реестр параметра BypassNRO и перезагрузка, после которой снова OOBE. Похоже, NRO означает - Network Requirement Oobe, т.к. параметр отменяет требование к наличию сети при установке. Маркетинг - маркетингом, а соломку для нестандартных бизнес-сценариев надо подстелить 🥊 Перезагрузка же нужна для вступления изменения в силу.

⚙️ С целью автоматизации этот параметр можно внести в реестр из файла ответов синхронной командой на этапе specialize. Но разве что на случай, когда выбор имени локальной учетной записи делегируется пользователю. Иначе аккаунт прописывается сразу в ФО - #классика блога в помощь.

Что ж, еще один коллекционный костыль от создателей Windows для обхода системных требований, заложенных в программу установки. Впрочем, способ [email protected] все равно легче запомнить✌️
🪄 Про магию устранения неполадок в Windows

Иногда исправление относительно несложных проблем в Windows выглядит для непосвященных магически. И не всегда очевидны пути даже к озвученному решению.

👉 Для диагностики важно внимание к деталям и логическое мышление. Знания и опыт ценны, но это - акселераторы. С их помощью вы просто быстрее найдете решение, не распыляясь на ложные пути.

В бот поддержки прислали такую проблему:
Появилась вторая учётка при входе - первая теперь требует пин-код
Пытался на приложении Mail добавить учётку Яндекса, ничего не получилось. Теперь при каждой перезагрузке появляется уведомление о неверном пароле и предложение выбрать из двух учёток с одинаковым именем.

Всегда полезно знать, что привело к проблеме. Но важно сфокусироваться на главном: две учетные записи (УЗ), ошибка при каждом старте ОС, неверный пароль.

Я запросил вывод Get-LocalUser и оказалось, что УЗ все-таки одна, если не считать служебные. Решение уже стало понятно 😎 Но я все-таки запросил фото проблемы↓ - хотелось убедиться, что автор все верно описал, а я - правильно понял. Дальше - внимание к деталями и простая логика.

#PowerShell можно верить - УЗ точно одна. При старте системы появляется ошибка - неправильные учетные данные. Получается, была попытка входа. Пользователь входить не пытался. Значит...

вход выполняет сама ОС...
при запуске...
автоматически...

💡 Автоматический вход не срабатывает! Для него задана неверная УЗ или пароль. И да, это написано на экране :)

Для устранения проблемы надо отключить автовход любым способом. Например, удалить параметр DefaultUserName в разделе
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Вы же, наверное, настраивали автоматический вход в Windows. Думаете ОС проверяет имя УЗ и пароль? Нет, она просто сохраняет их, а потом при запуске ломится как лось 🦌

Кстати, прошлым летом была #классика блога об отключении автовхода последнего пользователя, если на УЗ нет пароля. Я тогда предложил нестандартное решение - задать юзеру неверный пароль.

Картинка в статье как две капли воды похожа на скриншот автора вопроса! Знанием этим я с вами делился. А опыт - дело наживное 👌

В чате расскажите, какую проблему из недавних вы смогли решить своими силами без гуглояндекса.
⚙️ Новое в блоге: О нативной загрузке в UEFI или что означает фраза «это не поддерживается»

«Посмотрел по ссылкам [ваши статьи], там одно широко распространённое заблуждение в очередной раз резануло глаз. А откуда, собственно говоря, вы (именно вы) его взяли?», поприветствовал меня в почте читатель Serge.

Его зацепила #классика блога Практические советы по переходу с MBR на GPT с фразой «В Windows для нативного UEFI требуется загрузочный том в разметке GPT».

Я в свою очередь запросил конкретики, подспудно ожидая спецификацию UEFI в ответ.

➡️ Читайте дальше в блоге: https://www.outsidethebox.ms/21649/
🔒 Двухфакторная аутентификация в Госуслугах (ГУ)

Случайно узнал, что в ГУ появилась возможность перейти от двухэтапной аутентификации через СМС к двухфакторной с одноразовыми кодами из аутентификатора. Про разницу есть #классика блога.

Учитывая широкие возможности ГУ, захват аккаунта злоумышленником может иметь печальные последствия. Использование одноразовых кодов страхует от взлома аккаунта путем перевыпуска SIM-карты.

👉 #2FA настраивается в Профиль - Безопасность - Вход в систему - Вход с подтверждением.

В мобильном приложении [для Android] пока переключиться нельзя. Однако в нем можно быстро перейти на портал из раздела Безопасность - Мобильные приложения (картинка) и все настроить.

Прямая ссылка на страницу управления настройками - https://lk.gosuslugi.ru/settings/safety/login, и ее лучше открывать на смартфоне. На десктопе в популярных браузерах будет ошибка получения кода и придется возиться с отключением CORS ✌️
🔒 Об отсутствии кодов восстановления в двухфакторной аутентификации Госуслуг (ГУ)

Читатель Yves Genie первым делом обратил внимание, что в ГУ при переключении на 2FA с одноразовыми кодами не предусмотрено создание резервных кодов. Они невероятно ценны в случае повреждения или утери аутентификатора. #Классика блога освещала этот вопрос.

ℹ️ На реализацию #2FA различными компаниями полезно смотреть через призму документа NIST 800-63B. Конечно, американский институт стандартов не указ российским Госуслугам. Однако публикации NIST не просто определяют стандарты для госсектора США, но и в немалой степени задают вектор развития мировой индустрии. Наряду с высотой потолка эти рекомендации обозначают и высоту пола, под которым уже начинает просматриваться дно.

👉 В разделе 6.1.2.1 говорится, что поставщик услуги должен рекомендовать клиентам использование двух аутентификаторов на каждый фактор. Например, если применяется устройство для генерации одноразовых кодов (OTP), можно выпускать коды восстановления (look-up secrets в терминологии документа). И соответственно такая возможность должна быть реализована в сервисе.

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

NIST не обозначает природу такого канала. Наверное, подразумевается дистанционный способ. Но в случае с ГУ таковым вполне может являться визит в МФЦ с паспортом 😎
⬇️ ISO с языковыми пакетами, FOD, Inbox Apps - без регистрации и SMS

👉 Скачать для Windows 11 | Windows 10. Пользователям из РФ понадобится прокси или VPN.

По ссылкам:
🔹 Языковые пакеты - наборы для локализации интерфейса.

🔹 FOD (Features on Demand) - дополнительные компоненты, которые можно установить в Параметрах (не путайте с теми, что в optionalfeatures.exe). Сюда также входят языковые компоненты: распознавание речи, OCR, рукописный ввод, etc.

🔹 Inbox Apps ISO - комплект магазинных приложений, входящих в поставку Windows.

Раньше все это было доступно только в VLSC, а также подписчикам MSDN (кроме Inbox Apps ISO). Но в 2022 году у Microsoft случился аттракцион невиданной щедрости, и все ISO выложили в публичный доступ 🎉 Причем даже ретроспективно для более старых версий Windows 10. Судя по принадлежности страниц документации, это понадобилось клиентам Azure.

Заодно обновлена #классика моего блога про установку выпиленного Магазина посредством Inbox Apps ISO. Впрочем, этот способ уже не представляет особой ценности, поскольку теперь можно вернуть магазин одной командой ✌️
🔎 Как искать и находить старую документацию Microsoft

Специальная подборка ко дню знаний ;)

Время от времени мне нужны старые доки. Например, для доставки пруфов в дискуссии, раздела "История вопроса" в статье блога или просто тайного знания, которое больше нигде не опубликовано. В моем арсенале три сценария поиска.

1️⃣ Веб-архив
Иногда конкретная страница документации сильно меняется, и возникает необходимость посмотреть, что там было раньше с помощью https://web.archive.org/. Но если просто вставить туда ссылку на текущую страницу, то архив покажет вам результаты лишь с 2022 года.

👉 Не забывайте менять домен! Сейчас - это https://learn.microsoft.com/, но раньше-то он был https://docs.microsoft.com.

В качестве примера такой сильно обновившейся страницы подкину документацию о том, какие параметры синхронизируются в Windows. Я публиковал эту ссылку в канале более 5 лет назад, но с тех пор содержимое страницы изменилось до неузнаваемости. И не в лучшую сторону: было - стало. Upd. Похоже, актуальная документация по этому вопросу теперь в статье KB5031715.

2️⃣ Раздел старой документации
Бывает, что ссылки и названия документа нет, а просто помнишь, что когда-то было описано на TechNet или MSDN.

👉 У Microsoft есть свой архив с документацией устаревших программных продуктов: https://learn.microsoft.com/en-us/previous-versions/

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

3️⃣ Гугление вайтпейперов :)
Некоторые документы [по тематике Windows] не публиковались на TechNet. Они выкладывались в центре загрузок в виде файлов DOCX или PDF.

Как-то раз я искал у себя на диске один такой whitepaper и никак не мог выйти на него. Решил просто найти все, а там видно будет. И понял, что один из общих знаменателей - слово Abstract в тексте.

👉 Поэтому можно искать в интернете так: abstract filetype:docx OR filetype:pdf site:microsoft.com. А дальше уже уточнять тематику, добавляя ключевые слова вроде performance.

Пример: подробнейший и до сих пор актуальный справочник по BCDEdit.

🍪 #Классика блога по теме:
PowerShell: сохраняем исчезающие блоги Microsoft MSDN и TechNet
Как найти исчезнувшие статьи базы знаний Microsoft
🖊 О выпиливании WordPad из Windows

На прошлой неделе проскочила драматическая новость о том, что Microsoft убивает WordPad после 28 лет службы верой и правдой 😱

Он и так уже является необязательным компонентом, однако установленным по умолчанию.

Get-WindowsCapability -Online | where name -like *wordp*

И конкретной даты удаления не озвучили. Пока WordPad получил статус deprecated (значение термина я объяснял в канале). Предположу, что какое-то время компонент будет поставляться в отключенном состоянии, прежде чем его совсем выпилят.

Но зачем вообще может понадобиться WordPad? Давайте представим Windows из коробки без подключения к интернету 👈

1️⃣ Сохранение текстовых файлов в кодировке MS-DOS (OEM-866)

Для пакетных файлов bat и cmd, обрабатывающих кириллицу в путях, это было нужно испокон веков. Размещение ответа в FAQ намекает, что наступавших на грабли было великое множество. А олды смахнут скупую слезу, увидев альтернативные редакторы :)

Кстати, несмотря на способность сохранять в кодировке OEM-866, WordPad некорректно отображает кириллицу при открытии файла, см. картинку ↓ Исправить это можно, выбрав шрифт Terminal (спасибо, Сергею Ткаченко за напоминание:).

Взамен Microsoft предлагает использовать Блокнот, но он не умеет в OEM-866. Однако в качестве замены подойдет #PowerShell. Командлеты Out-File и Set-Content умеют задавать кодировку.

Write-Output привет | Out-File oem.txt -Encoding oem

2️⃣ Открытие DOCX

Из коробки этот тип файлов даже ассоциирован с WordPad. И на практике мне это пригождалось несколько раз. Например, когда на чистой и огороженной системе приходилось заглядывать в документацию к программе в формате DOCX. Да и при наличии интернета не всегда хочется загружать туда файл.

Взамен Microsoft предлагает использовать Word. Видимо, будет стандартное предложение поискать в магазине.

И кстати вместе с WordPad надо будет выпилить еще и write.exe!

fsutil hardlink list c:\windows\write.exe

#Классика блога про это: Зачем Windows нужно два блокнота (и точно ли их два) ✌️
🔐 О состоянии шифрования BitLocker по умолчанию в Windows

Второй день из каждого утюга вещают, что в Windows 11 Pro по умолчанию включено шифрование BitLocker, что влечет снижение производительности SSD до 45%. Первоисточник - Tom's Hardware, а дальше уже может зависеть от фантазии переводчика.

Я хочу прокомментировать заявления автора статьи, касающиеся работы BitLocker в ОС Windows. В разных местах материала он делает массу обтекаемых и неверных заявлений. Я не буду цитировать, а просто изложу их своими словами.

Эти утверждения в совокупности вводят в заблуждение:

• Windows 11 Pro форсирует включение шифрования, а на Windows 10 Pro шифрование скорее всего не включено.

• Если у вас [в Windows 11] локальный аккаунт нежели учетная запись Microsoft (MSA), шифрование не включается.

• Windows 11 Home не поддерживает BitLocker, поэтому там шифрование не включается. (Однако автор тут же оговаривается: кажется, на некоторых ноутбуках включено :)

👉 У меня есть подробная #классика блога на эту тему: Автоматическое шифрование BitLocker в Windows. И подзаголовок там в самый раз :) Рекомендую вам прочесть рассказ целиком, а здесь задействую некоторые моменты.

ℹ️ На самом деле шифрование устройств с помощью BitLocker автоматически включается начиная с Windows 8.1 во всех изданиях. Но происходит это только на устройствах, соответствующих определенным требованиям, которые со временем слегка ослабили. Поддержка автоматического шифрования проверяется элементарно.

🔓 Если устройство подходит, BitLocker включается во время установки с незащищенным ключом и приостанавливается. В английской терминологии это состояние называется Suspended, и задать его можно командлетом #PowerShell Suspend-Bitlocker. На картинке↓ шифрование включено, но приостановлено - диск зашифрован, но не защищен. Поэтому неверно заявление автора тестов, что с локальным аккаунтом диск не шифруется.

🔑 Когда первый вход выполняет администратор с MSA или компьютер вводится в домен, шифрование активируется и защищается TPM. Одновременно 48-значный пароль восстановления сохраняется в облачных настройках MSA, а в домене – в Entra ID или AD DS при включенной политике.

Проверка заявлений, касающихся производительности, тоже не помешала бы. Но я оставляю ее вам. С помощью CrystalDiskMark можно относительно быстро прикинуть влияние любого программного шифрования на свою систему. Только, пожалуйста, тестируйте производительность диска, а не его кэша ✌️
▶️ Как массово удалить папки, распакованные из архивов

В чате участник Павел задал такой вопрос:
В папке ~450 разных файлов, папок и архивов *.rar. Периодически рары разархивируются, и получается папка с тем же именем, что и rar. Стоит задача удалить эти папки, оставив при этом архивы. Как отсортировать, чтобы снизу папки сразу был её родительский архив?

Очевидно, он рассматривал вариант сортировки в файловом менеджере. Хотя надо сразу смотреть в сторону #PowerShell. Для начинающих это отличное практическое упражнение! Впрочем, этому унылому занятию Павел предпочел ожидание поста в канале 😎

Я бы решал задачу в лоб:
1. Отбираем только папки.
2. Для каждой проверяем наличие архива с таким же именем, "приклеивая" к имени папки расширение.
3. При совпадении удаляем.

$folders = Get-ChildItem -Path "C:\test" -Directory
foreach ($folder in $folders) {
if (Test-Path "$($folder.FullName).rar")
{Remove-Item $folder -Recurse -WhatIf}
}


Василий Гусев предложил нестандартное решение - группировка! 🤔 Мне оно в голову не пришло, хотя я трижды показывал Group-Object в блоге:
поиск дубликатов драйверов
выборка уникальных ссылок с веб-страниц
замена дубликатов файлов на жесткие ссылки

Доработав идею, я получил такой конвейер:
1. Группируем по имени папки и файлы без расширения с помощью свойства BaseName.
2. Отбираем группы, где с одинаковыми именами ровно два объекта - файл и папка!
3. Из каждой группы выбираем папки и удаляем их.

Get-ChildItem -Path "C:\test" | Group-Object -Property BaseName |
Where-Object {$_.Count -eq '2'} | ForEach-Object {$_.group} |
Where-Object {$_.Attributes -eq 'Directory'} | Remove-Item -Recurse -WhatIf


⌛️ Примечательно, что с обоими способами перекликается #классика блога Как массово переименовать файлы по маске в PowerShell. Там я склеивал имя файла из фрагментов, одним из которых было свойство BaseName.

🤖 И неудивительно, что ChatGPT тоже задействовал это свойство, когда я поставил задачу перед ним. Он пошел тем же путем что и я, но выбрал перебор архивов нежели папок и создал побольше переменных. В свою очередь чат-бот Bing практически повторил мой способ. Но для определения папки он использовал старое свойство объекта PSIsContainer (параметр -Directory у dir доступен более 10 лет, с версии 3.0).

Короче, получив направление в PowerShell, Павел мог сразу спросить чат-бота. И не дожидаться, пока кожаный мешок опубликует решение его простенькой задачи в канале ✌️
🔒 О ПИН-коде для удобства

Посмотрите на картинку↓ Это - варианты входа в Windows. Причем способы, относящиеся к Windows Hello, обозначены явно. Вроде все правильно, но есть нюанс © В левом верхнем углу написано, что вход выполнен с локальным аккаунтом. А в этом случае пометку "Windows Hello" с ПИН-кода следовало бы снять, потому что проверка подлинности работает иначе! 👈

Заметьте, что вход с паролем к Windows Hello не относится. Microsoft давно опубликовала статью Почему ПИН-код лучше пароля, хотя изначально в тексте пароль не имел приставки "онлайн". Там много говорится о преимуществах ПИН-кода над локальными паролями, но ни разу не упоминается локальный аккаунт.

👉 На самом деле при использовании локальной учетной записи ПИН-код служит для удобства. У Microsoft он так и называется - convenience PIN. Потому что процесс аутентификации отличается от учетной записи Microsoft (MSA) и аккаунтов Windows Hello for Business (WHfB).

ℹ️ Покровы срывает документ Common questions about Windows Hello for Business. Русский машинный перевод сойдет.

Удобный ПИН-код обеспечивает более простой способ входа в Windows, чем пароли, но он по-прежнему использует пароль для проверки подлинности. Если в Windows указан правильный удобный ПИН-код, сведения о пароле загружаются из кэша и проходят проверку подлинности пользователя.

⚙️ Не случайно, когда форсируется вход с Windows Hello, вариант входа с паролем пропадает и у локальных учетных записей, в том числе автологон. Это лишь в Параметрах написано, что Windows Hello требуется для MSA. А по факту настройка распространяется на всю систему.

Кстати, в том же документе Microsoft говорится, что технология WHfB не предназначена для работы с локальными учетными записями. И внезапно там же нашлось объяснение алгоритма, предотвращающего использование простых ПИН-кодов, о котором я писал в блоге.

В заключение, основная #классика блога по теме:
🔹 ПИН-код в Windows
🔹 Нюансы допустимых ПИН-кодов в Windows
🔹 Нюансы беспарольного входа в Windows
🔹 Как включить автоматический вход в Windows
⚙️ Диагностика проблемы с созданием файлов загрузки в разметке GPT

Сегодня в рубрике "Возвращаясь к напечатанному" #классика блога про восстановление загрузки в разметке GPT. В тот раз, получив ошибку bcdboot при создании загрузки, я зрительно определил помеху - "лишний" раздел EFI на другом диске. Но не всегда причина очевидна.

Недавно в чат поддержки пришёл человек с проблемой загрузки. У него был подключен только один диск. Но даже после пересоздания раздела EFI команда завершалась ошибкой Сбой при копировании файлов загрузки.

👉 На такой случай у bcdboot есть ключ -v, выводящий подробный ход операции. И сразу стало видно, что не найден файл c:\Windows\Boot\PCAT\bootmgr

Утилита же не берет файлы из воздуха. Для создания конфигурации загрузки она используют в качестве источника оффлайн систему. В папке PCAT также не было еще нескольких файлов. Когда их скопировали с другой системы, bcdboot отработала как положено.

Впрочем, это не решило исходную проблему, потому что в ОС не оказалась множества других ключевых файлов. Но это уже другая история ✌️
⚙️ О развитии утилиты diskusage

Сегодня в рубрике "Возвращаясь к напечатанному" утилита для анализа дискового пространства, входящая в поставку Windows 11. Три года назад я публиковал в блоге подробный разбор ключевых функций.

На тот момент утилита только появилась в предварительных сборках, и у меня был ряд нареканий. С тех пор основные недочеты устранили. Давайте пройдемся по улучшениям!

⚙️ Определение размера системных файлов
На смену ключу /systemAndReserve пришли два:
/systemFile[:N] для отображения служебных системных файлов
/reserved для зарезервированного пространства

Ключ /systemFile[:N] отображает системные файлы, которые обычно не видны в файловых менеджерах:
diskusage /systemFile:15 /humanReadable

Результат команды на картинке↓ В отчет входят служебные файлы NTFS, включая $MFT и $UsnJrnl. В целом очень похоже на вывод:
fsutil volume allocationreport C:

Этот ключ также закрыл вопрос с теневыми копиями, которые утилита изначально могла отображать только при запуске от имени системы. Пути вида C:\{GUID}{GUID} — это теневые копии. Вроде, это первая комплектная утилита, которая показывает размер отдельных теней.

Да, хотелось бы видеть папку System Volume Information в рамках вывода самых больших папок, /TopDirectory[:N]. Но и на том спасибо 👌

⚙️ Определение объема зарезервированного пространства
Ключ /reserved, как и его предшественник, не срабатывает в сочетании с [некоторыми] другими. Если смотреть отдельно, быстрее всего натравить утилиту на пустую папку:
diskusage C:\new /reserved /humanReadable

У меня в одной из систем объем зарезервированного пространства по сведениям утилиты отличается от цифры в параметрах на 1.5 GB. При этом он почти совпадает с объёмом первой из трёх зарезервированных областей:
fsutil storagereserve query C:

В остальных тестовых системах вывод в целом соответствует значению в параметрах. Да и так известно, что резервируется около 7 GB. Но такие разночтения не повышают доверие к результатам.

🔗 Переход по символическим ссылкам и соединениям
Изначально это было поведением по умолчанию, а выключалось оно ключом /skipReparse. Я отметил, что логично было сделать наоборот.

Действительно, впоследствии стали игнорировать символические ссылки и соединения, для явного перехода по ним добавили ключ /reparse, а ключ /skipReparse убрали из справки.

📃 Изменения в синтаксисе
Для указания значений перешли от знака равно к двоеточию. Было /TopDirectory=25, стало /TopDirectory:25. Впрочем, старый синтаксис пока тоже работает.

Все ключи: было | стало.

////
Я стараюсь поддерживать все материалы блога в актуальном состоянии. Вот и на сей раз #классика блога обновлена.

И да, я знаю, о чем вы сейчас думаете: "Зачем все это, если есть TreeSize, WinDirStat, Scanner и т.д." 🤔

Однако у встроенной консольной утилиты есть два неоспоримых преимущества:
🔹 работа в огороженной системе, где нельзя просто взять и скачать стороннее ПО
🔹 дистанционная помощь без лишних телодвижений: "выполни команду - покажи результат"
❄️ TechNet Wiki - в архиве документации!

11 лет назад на MVP Open Days 💨 нас зазывали в авторы новоиспеченной TechNet Wiki под соусом “Пишите, и о вас узнает весь мир!”. На вопрос, как этому помогут фактически обезличенные записи, последовал незамысловатый ответ: “Ваши материалы будут на сайте Microsoft! И вообще, индусы и китайцы с радостью!”

👉 Архив https://learn.microsoft.com/en-us/archive/technet-wiki/

Спасибо за наводку Вадимсу Подансу - говорит, там было что-то годное про PKI.

Архив не индексируется поисковиками, а внутренний поиск еще совсем недавно был сломан примерно год. Но не уничтожили, и на том спасибо!

#Классика блога и канала по теме:
🔹 Сохраняем исчезающие блоги Microsoft MSDN и TechNet
🔹 Как найти исчезнувшие статьи базы знаний Microsoft
🔹 Архив видео Channel 9
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ 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 есть и другие улучшения. В ближайшее время я еще раз обновлю статью и расскажу об этом в канале ✌️
⚙️ Облачная переустановка поверх в параметрах Windows 11

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

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

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

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

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

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

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

Так или иначе, фича ценная, и новость отличная! #Классика блога про переустановку поверх обновлена ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
🏃‍♂️ Запуск программ от имени администратора из диалога 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 без сторонних утилит