ctrllife.ru/ctrllife

Все значки в трее Windows 11 и 10: одна команда PowerShell

Все значки в трее Windows 11 и 10: одна команда PowerShell
Содержание11 разделов

Windows по умолчанию убирает большинство значков области уведомлений (системного трея) в меню за стрелкой «^» рядом с часами. Чтобы проверить состояние Telegram, Docker Desktop или клиента VPN, это меню приходится открывать каждый раз.

Ниже разобраны все рабочие способы показать скрытые значки на панели задач: через Параметры, перетаскиванием, через реестр и PowerShell, а также автоматический вариант для программ, установленных позже. Отдельно описан Windows 10, где общий переключатель ещё есть.

Почему в Windows 11 нет кнопки «показать все значки»

В Windows 10 за поведение трея отвечал один параметр, EnableAutoTray, и одна галочка в Параметрах. В Windows 11 общий переключатель удалён: видимость задаётся для каждой программы отдельно, а значки новых программ по умолчанию попадают в скрытые.

Начиная с версии 22H2 настройки хранятся в реестре, в разделе HKCU\Control Panel\NotifyIconSettings. Каждая программа, хотя бы раз показавшая значок, получает там подраздел с длинным числовым именем, а в нём параметр IsPromoted: 1 — значок на панели задач, 0 — в меню скрытых значков. Все способы для Windows 11 в итоге меняют именно этот параметр.

Какой способ выбрать

Способ

Версия

Значки новых программ

Права администратора

Параметры, по одному значку

Windows 11

скрываются

не нужны

Перетаскивание

Windows 11

скрываются

не нужны

PowerShell, IsPromoted

Windows 11

скрываются

не нужны

Задача в Планировщике при входе

Windows 11

показываются после входа или запуска задачи

обычно не нужны

Фоновая утилита NotifyIconPromote

Windows 11

показываются сразу

не нужны

Галочка «Всегда отображать все значки»

Windows 10

показываются

не нужны

Параметр EnableAutoTray

Windows 10

показываются

не нужны

Групповая политика

Windows 10 Pro, Enterprise, Education

показываются

нужны

Как показать значки в Windows 11 через Параметры

Способ подходит, когда значков немного и набор программ меняется редко.

  1. Откройте Параметры (Win + I) → Персонализация → Панель задач. Быстрее: Win + R и команда ms-settings:taskbar.
  2. Разверните раздел «Другие значки панели задач» (Other system tray icons).
  3. Включите переключатель у каждой программы, значок которой должен быть на виду.

В том же разделе есть переключатель «Меню скрытых значков» (Hidden icon menu). Он только убирает стрелку «^» и не выводит выключенные значки на панель: они просто становятся недоступны. Трогать его не нужно, поскольку с Windows 11 build 22610 пустая стрелка исчезает сама, когда скрытых значков не остаётся.

Как вывести значок перетаскиванием

Самый быстрый способ для одного-двух значков: нажмите на стрелку «^», зажмите нужный значок и перетащите его на панель задач рядом с часами. Обратное движение возвращает значок в скрытые (пошаговое описание).

Ограничение то же, что и у Параметров: значки новых программ всё равно уходят в скрытые, и каждый придётся переносить вручную.

Как показать все значки в трее Windows 11 одной командой

Команда ниже ставит IsPromoted в 1 для всех программ из раздела NotifyIconSettings — способ, который сообщество предлагает в обсуждении на Microsoft Tech Community в ответ на отсутствие общего переключателя.

Что лежит в разделе NotifyIconSettings

Перед изменением полезно посмотреть текущее состояние. Команда выводит путь к исполняемому файлу, подсказку значка и текущее значение IsPromoted для каждой записи:

Get-ChildItem 'HKCU:\Control Panel\NotifyIconSettings' |
    ForEach-Object { Get-ItemProperty -Path $_.PSPath } |
    Select-Object ExecutablePath, InitialTooltip, IsPromoted |
    Format-Table -AutoSize

Пустое поле IsPromoted означает, что программа ещё не настраивалась и по умолчанию скрыта.

Команда для всех значков

Откройте PowerShell от своего пользователя: права администратора не нужны, раздел находится в HKCU. Скрипт сохраняет резервную копию раздела на рабочий стол, включает все значки и перезапускает Проводник:

# Резервная копия раздела на рабочий стол (учитывает перенос рабочего стола в OneDrive)
$desktop = [Environment]::GetFolderPath('Desktop')
reg export "HKCU\Control Panel\NotifyIconSettings" "$desktop\NotifyIconSettings.reg" /y

# Показать все значки
Get-ChildItem 'HKCU:\Control Panel\NotifyIconSettings' | ForEach-Object {
    Set-ItemProperty -Path $_.PSPath -Name 'IsPromoted' -Value 1 -Type DWord
}

# Перезапустить Проводник, чтобы изменения применились сразу
Stop-Process -Name explorer -Force

Проводник запускается автоматически через несколько секунд, все значки оказываются на панели задач. Чтобы вернуть сохранённые значения, дважды щёлкните по файлу NotifyIconSettings.reg на рабочем столе.

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

Как автоматически показывать значки новых программ

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

Скрипт и задача в Планировщике

Скрипт ниже создаёт файл %LOCALAPPDATA%\TrayIcons\show-all.ps1 и регистрирует задачу ShowAllTrayIcons. В массив $exclude можно вписать имена исполняемых файлов, значки которых должны оставаться скрытыми: без этого скрипт при каждом входе выводит на панель все значки, включая скрытые вручную.

$dir = "$env:LOCALAPPDATA\TrayIcons"
New-Item -ItemType Directory -Path $dir -Force | Out-Null

@'
# Имена exe, значки которых оставить скрытыми, например: @('OneDrive.exe', 'Teams.exe')
$exclude = @()

Get-ChildItem 'HKCU:\Control Panel\NotifyIconSettings' | ForEach-Object {
    $exe = (Get-ItemProperty -Path $_.PSPath -Name 'ExecutablePath' -ErrorAction SilentlyContinue).ExecutablePath
    $name = if ($exe) { Split-Path -Path $exe -Leaf } else { '' }
    $value = if ($exclude -contains $name) { 0 } else { 1 }
    Set-ItemProperty -Path $_.PSPath -Name 'IsPromoted' -Value $value -Type DWord
}
'@ | Set-Content -Path "$dir\show-all.ps1" -Encoding UTF8

$action  = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"$dir\show-all.ps1`""
$trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME
Register-ScheduledTask -TaskName 'ShowAllTrayIcons' -Action $action -Trigger $trigger -Force

При успешной регистрации PowerShell выводит таблицу с задачей ShowAllTrayIcons в состоянии Ready. Параметр -ExecutionPolicy Bypass действует только на этот запуск и не меняет политику выполнения скриптов в системе.

Проверка работы задачи

Чтобы применить настройку сразу, без повторного входа, запустите задачу вручную и проверьте код завершения:

Start-ScheduledTask -TaskName 'ShowAllTrayIcons'
Start-Sleep -Seconds 3
Get-ScheduledTaskInfo -TaskName 'ShowAllTrayIcons' | Select-Object LastRunTime, LastTaskResult

Значение 0 в столбце LastTaskResult означает, что скрипт отработал без ошибок. Ту же команду Start-ScheduledTask удобно выполнять после установки новой программы. При входе в систему окно PowerShell может на долю секунды мелькнуть — это особенность запуска powershell.exe из Планировщика.

Удаление задачи и скрипта

Команды полностью откатывают автоматизацию:

Unregister-ScheduledTask -TaskName 'ShowAllTrayIcons' -Confirm:$false
Remove-Item "$env:LOCALAPPDATA\TrayIcons" -Recurse -Force

Альтернатива: фоновая утилита NotifyIconPromote

Задача при входе не реагирует на программы, запущенные впервые посреди сеанса. Эту задачу решает open-source утилита NotifyIconPromote: она работает в фоне, ждёт изменений в разделе NotifyIconSettings и выводит на панель только новые, ещё не настроенные значки, не трогая те, что скрыты вручную.

Как показать все значки в Windows 10

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

Через Параметры

  1. Откройте Параметры → Персонализация → Панель задач.
  2. В разделе «Область уведомлений» нажмите «Выберите значки, отображаемые в панели задач».
  3. Включите верхний переключатель «Всегда отображать все значки в области уведомлений».

Через классическую панель управления

Нажмите Win + R, выполните команду ниже и поставьте флажок «Всегда отображать все значки и уведомления на панели задач»:

explorer shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}

Через реестр

Для скриптов удобнее параметр EnableAutoTray в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer: 0 — показывать все значки, 1 — прятать (значение по умолчанию). Команда включает показ всех значков и перезапускает Проводник:

Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer' -Name 'EnableAutoTray' -Value 0 -Type DWord
Stop-Process -Name explorer -Force

Через групповую политику

Для всех пользователей компьютера в редакциях Pro, Enterprise и Education используется политика «Отключить очистку области уведомлений» (Turn off notification area cleanup). Путь в редакторе gpedit.msc: Конфигурация пользователя → Административные шаблоны → Меню «Пуск» и панель задач.

В Windows 11 ни EnableAutoTray, ни классическая панель, ни эта политика не действуют: там работает только IsPromoted.

Безопасность и влияние на систему

Все описанные способы для Windows 11 меняют только ветку HKCU текущего пользователя и не требуют повышения прав. Задача Планировщика выполняется от имени того же пользователя, поэтому не создаёт пути к повышению привилегий.

Запускать скрипт от имени SYSTEM бессмысленно: у этой учётной записи свой раздел HKCU, и изменения не дойдут до профиля пользователя. По той же причине в консоли администратора, открытой с паролем другой учётной записи, настройка применится к этой учётной записи.

Один проход скрипта — это чтение и запись нескольких десятков параметров реестра при входе, на время загрузки рабочего стола это заметно не влияет. Резервная копия через reg export перед первым запуском остаётся рекомендуемой практикой при любых правках реестра.

Если не работает

Что происходит

Что сделать

Команда отработала, но значки не появились

Перезапустите Проводник: Stop-Process -Name explorer -Force

Значки не появились после запуска из консоли администратора

Проверьте имя командой whoami: если это другая учётная запись, запустите команды под своим пользователем

Register-ScheduledTask выдаёт «Отказано в доступе»

Запустите PowerShell от имени администратора под той же учётной записью и повторите регистрацию

Значка нужной программы нет ни в Параметрах, ни в реестре

Запись появляется, только когда программа впервые показала значок: запустите её и повторите команду или Start-ScheduledTask

Значок снова спрятался после обновления программы

Windows создала новую запись, скрытую по умолчанию: задача исправит это при следующем входе, либо запустите её вручную

Программа в списке включена, но значка нет

Значок отключён в настройках самой программы

Стрелка «^» пропала, а скрытые значки не появились

Выключено «Меню скрытых значков»: включите его и выведите значки способами выше

Окно shell:::{05d7b0f4…} в Windows 11 не открывается или флажок ни на что не влияет

Классическая панель в Windows 11 не работает, используйте IsPromoted

Частые вопросы

Можно ли вернуть в Windows 11 переключатель «Всегда отображать все значки»?

Нет. В Windows 11 общий переключатель удалён, а EnableAutoTray, классическая панель управления и групповая политика из Windows 10 не действуют.

Замена — массовая установка IsPromoted через PowerShell и автоматизация для новых программ: задача Планировщика при входе или фоновая утилита.

Нужны ли права администратора, чтобы показать все значки?

Для Windows 11 и для EnableAutoTray в Windows 10 — нет: настройки хранятся в HKCU текущего пользователя.

Права администратора нужны только для групповой политики в Windows 10 и в редких случаях для регистрации задачи Планировщика.

Почему значок программы снова оказался в скрытых после обновления?

Windows связывает запись в NotifyIconSettings с путём к исполняемому файлу. Если после обновления путь изменился, например в нём есть номер версии, создаётся новая запись со значением по умолчанию, то есть скрытая.

Задача ShowAllTrayIcons исправляет это при следующем входе, NotifyIconPromote — сразу после появления записи.

Как вернуть значки в скрытые после скрипта?

Дважды щёлкните по файлу NotifyIconSettings.reg, сохранённому перед изменением: он восстановит значения из резервной копии. Для отдельных значков достаточно выключить переключатель в Параметрах или перетащить значок обратно за стрелку «^».

Если задача Планировщика включена, предварительно удалите её или впишите нужные программы в массив $exclude, иначе при следующем входе значки снова выйдут на панель.

Работает ли способ с IsPromoted в Windows 11 24H2 и 25H2?

Да. Раздел NotifyIconSettings и параметр IsPromoted используются начиная с версии 22H2, включая актуальные 24H2 и 25H2.

Заключение

В Windows 10 все значки трея выводятся на панель одной галочкой или параметром EnableAutoTray, а в Windows 11 тот же результат даёт массовая установка IsPromoted в разделе NotifyIconSettings: одна команда PowerShell закрывает текущие программы, задача Планировщика или событийная утилита — новые, и область уведомлений перестаёт прятать состояние фоновых сервисов без ручных действий после каждой установки.

Оцените запись