Windows 11, 10, etc - Вадим Стеркин
Авторский канал. Windows, безопасность, мобильный мир: • тайное знание • мощный ликбез • гадание по логам • срыв покровов • доставка пруфов Чат: @winsiders Блог: outsidethebox.ms ЛС: @vsterkin Донаты ₽: boosty.to/sterkin РКН: https://clck.ru/3LBugC
Показати більше📈 Аналітичний огляд Telegram-каналу Windows 11, 10, etc - Вадим Стеркин
Канал Windows 11, 10, etc - Вадим Стеркин (@sterkin_ru) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 15 649 підписників, посідаючи 8 200 місце в категорії Технології та додатки та 41 743 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 15 649 підписників.
За останніми даними від 16 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 69, а за останні 24 години на 0, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 34.04%. Протягом перших 24 годин після публікації контент зазвичай збирає 13.34% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 5 327 переглядів. Протягом першої доби публікація в середньому набирає 2 088 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 44.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як microsoft, параметр, диск, object, мониторинг.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Авторский канал. Windows, безопасность, мобильный мир:
• тайное знание
• мощный ликбез
• гадание по логам
• срыв покровов
• доставка пруфов
Чат: @winsiders
Блог: outsidethebox.ms
ЛС: @vsterkin
Донаты ₽: boosty.to/sterkin
РКН: https://clck.ru/3LBugC”
Завдяки високій частоті оновлень (останні дані отримано 17 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
in about. И эти слова вполне могут быть представлены отдельной строкой (string). Потому что предшествующие им слова варьируются (снег начнётся, гроза закончится).
Дело осложняется ещё и тем, что фраза in about несколько разговорная. Она абсолютно допустима во множестве сфер, но в юридических или технических документах вы её вряд ли увидите. Там бы написали in approximately, И тогда перевод "в лоб" был бы лучше: через примерно. Хотя правильнее поменять эти слова местами.
Вырванные из контекста фразы ложно переводить хоть ИИ, хоть человеку. Я уже поднимал эту тему в посте о трудностях перевода ✌️<буквы> | Where-Object {!(Test-Path $_)} | Select-Object -First 1
Иногда вместо Select-Object используют Get-Random, но это менее эффективно.
А вот на первом этапе бывают варианты. Часто используют оператор Range для диапазона букв. Тут, кстати, два этапа конвейера.
'j'..'z' | ForEach-Object { "${_}:" }
Мне также встречалось перечисление символов ASCII, где 65 - А, 90 - Z. Но оно менее естественное.
65..90 | ForEach-Object { [char]$_ + ":" }
🔥 А недавно мне попался, пожалуй, самый любопытный способ:
Get-ChildItem function:[j-z]: -Name
В этой команде:
🔹 function: - трюк для получения готового списка букв дисков. Здесь #PowerShell обращается к поставщику функций. Выполните Get-ChildItem -Path Function: и вы увидите не только загруженные из профиля функции, но и список букв дисков!
🔹 [j-z]: - регулярное выражение, которое выбирает из списка функций только буквы в заданном диапазоне.
🔹 -Name - параметр форсирует получение только строковых значений, нежели полного объекта
Полная команда для получения первой свободной буквы диска в заданном диапазоне. Для краткости я заменил названия командлетов на их псевдонимы.
dir function:[j-z]: -Name | where {!(Test-Path $_)} | select -First 1
Этот метод должен быть самый быстрый, хотя разница всё равно измеряется долями секунды - в скрипте это не существенно. Тут скорее играет роль, что вы помните или быстрее вводите. На мой взгляд, вариант с диапазоном букв посложнее набирать.
////
Наконец, мне в комментариях к посту про mountvol подписчик Алексей доставлял, что все свободные буквы могут быть заняты разнообразными дисками. Хотя к тому моменту я уже добавил ссылку на статью блога с решением именно этой задачи - подключением диска в папку NTFS.
Впрочем, это не сработает именно для раздела EFI! У mountvol ключ /s предусматривает только подключение в букву диска, потому что у EFI файловая система FAT32! В такой ситуации надо действовать в зависимости от требуемых изменений. Например, для файловых операций можно обойтись без подключения раздела, но для команд bcdedit логичнее освободить букву на время✌@username и сообщение хочу билет на Kuber Confcd $env:localappdata\Microsoft\WindowsApps\
dir *.exe | ft Length,Attributes,Name
Length Attributes Name
------ ---------- ----
0 Archive, ReparsePoint 7z.exe
0 Archive, ReparsePoint 7zFM.exe
0 Archive, ReparsePoint 7zG.exe
0 Archive, ReparsePoint ActionsMcpHost.exe
0 Archive, ReparsePoint bash.exe
...
По идее, если упакованное приложение подразумевает запуск из командной строки, псевдоним уже реализован разработчиком в манифесте с помощью элемента AppExecutionAlias. Тогда при установке приложения псевдоним автоматически создается в папке WindowsApps, которая в свою очередь добавлена в PATH. Благодаря этому приложение запускается из командной строки просто по псевдониму.
Средствами системы создание псевдонимов не предусмотрено. Если разработчик тугой, возможны только обходные пути запуска. В общем случае вы можете закрепить приложение в Пуске, перетащить его оттуда в любую папку из PATH и далее запускать созданный тем самым ярлык из CMD-файла с желаемым именем и таким содержимым:
explorer <полный путь к.lnk>Аналогично может работать и запуск по протоколу. С классическими Win32 приложениями эти ухищрения не нужны. Можно создать символическую ссылку на программу: с любыми именем и хоть в той же папке WindowsApps - будет почти как настоящий псевдоним :) CMD-файл в PATH или раздел реестра App Paths тоже решают вопрос - #классика блога в помощь. Наконец, если очень хочется именно псевдоним, можете воспользоваться модулем #PowerShell за авторством известного исследователя безопасности James Forshaw: NtObjectManager. Пример команды в его же статье с глубоким разбором псевдонимов ✌
Vadikan, с унаследованием всех сообщений. Более того, в специальной теме он предлагал каждому проходимцу подать заявку на владение любым историческим аккаунтом 🤦♂️
Мы, кстати, очень щепетильно относились к принадлежности сообщений. При удалении участника все его посты становились от имени гостя. Их невозможно было унаследовать при новой регистрации ника. Конечно, в цитатах и ответах исходный ник был виден, но это уже сообщения других людей.
Глядя на этот ресурс, я не мог отделаться от ощущения, что человек не только присвоил себе чужое, но и раскопал могилы и пляшет на костях. Да ещё и приторговывает местами на кладбище 😡 Мой ответ был достаточно жёстким.
Я вполне допускаю, что такие проекты реализуются из лучших побуждений. Но их создатели не осознают, что является главной ценностью ресурса. Для постоянных участников значимость OSZone (да и вообще форумов) не в тоннах тем с разрозненной информацией. Куда важнее атмосфера! 👈 Её создают люди, составляющие ядро сообщества. Без них это будет совсем другой форум. И бессмысленно наклеивать на него наш логотип.
Все попытки возродить форум OSZone без преемственности сообщества обречены на провал. Наш OSZone теперь может существовать лишь в режиме "только для чтения".
🤐 Архивы
Онлайн: https://os-zone.net/
Версии тем для печати. Реализовано и поддерживается ветеранами форума. Спасибо, Goletsa, OlD_NiK, Piter Pen.
Оффлайн:
• Форум и сайт в HTML (спасибо, Констатин с safezone.cc)
• Форум и сайт в CHM (спасибо, Ostap K)
• Мой учебник по автоустановке Windows (CHM в 7z SFX). Также все наши CHM внедрены в файл Остапа↑\\?\GLOBALROOT)
Оба способа сработают и с разделом EFI с поправкой на другой идентификатор:
# GUID
$id = "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}"
$lpath = (Get-Partition | where GptType -eq $id).AccessPaths[0]
Get-ChildItem -Force -Recurse -LiteralPath $lpath
# NT namespace
Get-ChildItem -Force -Recurse -LiteralPath \\?\GLOBALROOT\device\harddisk0\partition1\
Но есть и более простой метод, с которым не нужно знать идентификатор раздела или помнить сложный синтаксис пути!
mountvol S: /s
Get-ChildItem -Force -Recurse S:
mountvol S: /d
У команды mountvol предусмотрен специальный ключ /s, который назначает именно разделу EFI заданную букву диска. Ключ /d удаляет её. Мнемоника: /s означает system, /d - delete.
Разумеется, буква диска должна быть свободной, и для примера я выбрал ту же S ✌*.sberbank.ru). Это есть в решении, которое я рассмотрю дальше.
🐻 BrowserSelector
Магазинное приложение BrowserSelector подкинул в чате Alexey. Оно решает те же задачи, но на уровне браузеров. Впрочем, на уровне профилей тоже может: достаточно дописать в пути к браузеру ключ запуска конкретного профиля.
Работает похоже на решения для Android. Приложение становится браузером по умолчанию, а дальше разруливает ваши переходы по ссылкам в зависимости от настроек доменов.
Из принципа работы вытекает и главный недостаток: применение BrowserSelector ограничено переходами из внешних программ. Да и UX у приложения так себе. Оно запускается каждый раз, когда вы переходите по ссылке - значок появляется на панели задач и пропадает. Реализация с фоновой службой могла бы избавить от такого моргания.
////
У меня дефолтный браузер - Edge. И пока не возникало необходимости в стороннем решении для автопереключения. Но хорошо, когда есть выбор! ✌️Ctrl+E) и включите отслеживание реестра.
2. Откройте фильтр (Ctrl+L) и задайте условия:
• Process is: SystemSettings.exe
• Path contains: часть названия элемента интерфейса
В моём примере настройка Lock Screen, я вписываю lock
3. Перезапустите Параметры и перейдите на страницу, предшествующую той, которая контролируется политиками. Без перезапуска приложение может не обратиться к реестру заново.
4. Включите захват (Ctrl+E), перейдите на проблемную страницу и немедленно отключите захват.
5. В списке ищите (Ctrl+F) пути, в имени которых содержится Policies. Это разделы с групповыми политиками. Исключения есть, но крайне редкие.
6. Выделите найденный путь, перейдите в реестр (Ctrl+J) и проверьте наличие параметра, его смысл и значение.
////
📽 В ролике↓ сразу видно, что проверяются два параметра реестра в разделе HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization:
• Nolockscreen
• NoChangingLockScreen
Действительно, я рассказывал в канале, как отключить экран блокировки во избежание лишних телодвижений при входе в ОС ✌️HKCU\Software\Classes, создав для каждого типа графических файлов подраздел вида \nomacs.png.3. Если удалить разделы программы из классов, приложение не будет предлагаться в качестве дефолтного для Open with.
Задача решается перебором в скрипте #PowerShell (в командах удаления добавлен параметр -WhatIf для страховки от стрельбы в ногу :)
$classesPath = "HKCU:\Software\Classes"
$appKeys = Get-ChildItem -Path $classesPath | Where-Object { $_.PSChildName -like "nomacs.*" }
if ($appKeys) {
foreach ($key in $appKeys) {
Write-Host "Deleting class key: $($key.Name)" -ForegroundColor Yellow
Remove-Item -Path $key.PsPath -Recurse -Force -ErrorAction SilentlyContinue -WhatIf
}
}
🪚 2. Удаление пользовательских ассоциаций
Здесь сложнее. У каждого расширения в разделе реестра FileExts есть два подраздела:
• OpenWithProgids - ИД приложений, которые могут открывать тип файла
• UserChoice - выбор пользователя с ИД и хэшем приложения
Get-ChildItem HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\
Hive: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png
Name Property
---- --------
OpenWithProgids nomacs.png.3 :
UserChoice ProgId : nomacs.png.3
Hash : fjmDvOs2rGo=
Здесь слева имена подразделов, справа - их параметров. Поэтому надо перебрать скриптом все подразделы, где эти параметры содержат записи о несуществующем приложении, и удалить их. Для экономии места я вынес скрипт в Pastebin.
🔬 Нюансы
Скрипты на перебор простенькие, создание таких я давно делегирую нейронке. Выдав скрипт, Gemini предупредила, что удаление из FileExts может не сработать. И тогда нужно запускать скрипт от имени SYSTEM или TrustedInstaller (TI) с помощью psexec от Sysinternals.
В моем случае параметры nomacs удалились без проблем. Хотя в целом нейронка права: там нельзя просто взять и удалить. Но есть нюанс © Её обходной путь тоже не сработает 😎
Во-первых, если вы запускаете редактор реестра от имени другой учётной записи, даже системной, то видите её раздел реестра HKCU, а не свой. Другими словами, ваших параметров там не будет. И, кстати, psexec не позволяет запускать исполняемые файлы от имени TI, хотя других вариантов полно.
Во-вторых, параметры в разделе FileExts защищены не столько посредством ACL (это можно было менять скриптом), сколько специальным драйвером UCPD, User Choice Protection Driver. Microsoft добавила его в 2024 году для дополнительной защиты файловых ассоциаций от изменений без ведома пользователя (подробнее: раз, два).
На это есть несколько обходных путей.
🪟 Встроенными средствами вы можете:
• войти в другую учётную запись или Windows RE и подключить в HKU ваш NTUSER.DAT (с корректировкой путей в скрипте, примерно так)
• временно изменить способ запуска службы UPCD, чтобы после перезагрузки ОС не активировался драйвер
🧰 Сторонняя утилита SetUserFTA позволяет сразу задать желаемые ассоциации.
Примеры:
• настройка png: setuserfta .png IrfanView.png
• импорт конфигурационного файла: setuserfta c:\file.cfg
И сам файл:
.png, IrfanView.png .jpg, IrfanView.jpg .jpeg, IrfanView.jpegЗдесь создаётся новая связь с конкретным приложением. Причём в обход работающего драйвера UCPD ✌️
