Исправление высокой загрузки CPU из‑за wsmprovhost.exe

Что такое wsmprovhost.exe
wsmprovhost.exe — это процесс Windows, связанный с Windows Remote Management (WinRM) и удалёнными PowerShell-сессиями. Определение: отвечает за создание хоста протокола WS-Man для управления удалённой сессией PowerShell и выполнения команд на удалённом компьютере.
Коротко: сам по себе файл безопасен и принадлежит Windows. Но в ряде случаев он запускается многократно, потребляя ресурсы, или оказывается заместителем вредоносной активности. Поэтому важно не только знать, что это за процесс, но и уметь диагностировать, что его вызывает.
Почему возникает высокая загрузка CPU из‑за wsmprovhost.exe
Основные причины:
- Множественные удалённые сессии и процессы в них. Каждый запуск команды в удалённой сессии порождает экземпляр процесса.
- Выполнение тяжёлых PowerShell-скриптов на удалённом сервере.
- Сторонние приложения или агенты, которые используют WinRM для опроса или управления (пример: системы мониторинга).
- Инфекция вредоносным ПО, маскирующимся под системный процесс.
- Повреждённые системные файлы, из‑за которых WinRM неправильно работает.
Важно: когда вы видите несколько экземпляров wsmprovhost.exe в Диспетчере задач, это не обязательно ошибка — но при необоснованно высоком потреблении CPU или памяти нужно действовать.
Быстрые проверки перед глубоким устранением
- Перезагрузите сервер/ПК. Иногда один «зависший» сеанс уходит после перезапуска.
- Проверьте, появились ли свежие обновления Windows и установите их.
- Откройте Диспетчер задач и посмотрите путь к исполняемому файлу: правильный путь — C:\Windows\System32\wsmprovhost.exe. Если файл запускается из другой папки, это повод для расследования.
- Посмотрите журнал событий (Просмотр событий → Windows Logs → System / Applications) на ошибки WinRM/PowerShell.
Пошаговое руководство по исправлению
1. Удаление недавно установленных сторонних приложений
- Нажмите Windows + R, введите
appwiz.cplи нажмите Enter.
- Найдите приложение, которое было установлено незадолго до появления проблемы. Выберите его и нажмите «Удалить».

- Следуйте инструкциям деинсталлятора и перезагрузите компьютер.
Примечание: администраторы домена часто обнаруживают, что системы мониторинга или агенты (например, PRTG-конфигурации) интенсивно используют удалённые вызовы и порождают много сессий. Удаление или настройка такого ПО часто решает проблему.
2. Полная проверка на вредоносное ПО
- Нажмите Windows + S, введите «Windows Security» и откройте приложение.

- Перейдите в «Защита от вирусов и угроз».

- Выберите «Параметры сканирования».

- Запустите «Полное сканирование» и дождитесь завершения.

Если встроенный сканер ничего не находит, но у вас остаются подозрения, используйте надёжный сторонний антивирус с глубоким сканированием и проверкой загрузочного сектора. Также полезно просканировать систему с загрузочного носителя (offline-scan).
3. Восстановление системных файлов (DISM + SFC)
- Нажмите Windows + R, введите
cmdи нажмите Ctrl + Shift + Enter, чтобы открыть командную строку от имени администратора.
- Подтвердите UAC.
- Поочерёдно выполните команды:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth- Затем выполните проверку целостности:
sfc /scannow
- Перезагрузите компьютер.
DISM и SFC в связке часто восстанавливают повреждённые компоненты Windows, которые могут вызывать неправильное поведение WinRM и избыточное использование ресурсов.
4. Отключение автозагрузки ненужных приложений
- Нажмите Ctrl + Shift + Esc, перейдите на вкладку «Автозагрузка».

- Отключайте по одному элементы, у которых «Включено» в статусе. Не отключайте критичные системные компоненты.

- Перезагрузите и проверьте загрузку CPU.
Автозапуск некоторого ПО может регулярно создавать удалённые соединения или запускать агенты, которые через WinRM инициируют процессы.
5. Проверка активных удалённых сессий и завершение «зависших» сессий
- Посмотреть активные сессии WinRM/PowerShell:
Get-PSSession- В Windows Server можно использовать
qwinstaилиquery sessionдля RDP-сеансов. - Завершить сессию можно через
Remove-PSSessionили через Task Manager завершением конкретного процесса.
Если большой нагрузкой вызывает конкретный скрипт, найдите его и при необходимости измените логику (ограничьте параллелизм, добавьте throttling).
6. Ограничение и настройка WinRM
Если WinRM не нужен для ваших задач, его можно отключить:
winrm quickconfig /disableЕсли WinRM нужен — примените настройки безопасности:
- Ограничйте доступ по IP/портам на уровне брандмауэра.
- Разрешайте клиентские подключения только для нужных групп с помощью GPO.
- Включите аудит WinRM в журналах событий.
Важно: отключение WinRM уберёт функциональность удалённого управления. Применяйте только после оценки влияния.
Диагностика: полезные утилиты и команды
- Task Manager / Process Explorer (Sysinternals) — для подробного анализа процессов и потоков.
- PowerShell:
Get-Process -Name wsmprovhost,Get-PSSession,Get-EventLog -LogName System -Source Windows Remote Management. - Проверка подписи файла: щелкните правой кнопкой по файлу, «Свойства» → «Цифровые подписи».
- Проверка пути файла: если не C:\Windows\System32, это тревожный сигнал.
Модель принятия решения (краткая)
- Наблюдается всплеск использованием CPU? Да → Проверьте активные сессии и процессы.
- В сессиях выполняются тяжёлые скрипты? Да → Оптимизируйте скрипты или ограничьте параллелизм.
- Недавние установки ПО совпадают с началом проблемы? Да → Временно удалите/выключите ПО.
- Подпись/путь файла не совпадает с системными? Да → Считать как потенциальное заражение и изолировать хост.
flowchart TD
A[Наблюдается высокая загрузка CPU] --> B{wsmprovhost.exe в списке процессов}
B -->|Нет| C[Ищите другие причины]
B -->|Да| D[Проверить путь и подпись файла]
D --> E{Файл из System32 и подписан?}
E -->|Нет| F[Изолировать, сканировать, восстановить из бекапа]
E -->|Да| G[Проверить активные сессии и скрипты]
G --> H{Есть тяжёлые/много сеансов?}
H -->|Да| I[Убрать/ограничить сессии, оптимизировать скрипты]
H -->|Нет| J[Выполнить DISM+SFC и обновления]Чек‑лист для администратора
- Проверить путь к wsmprovhost.exe и подпись.
- [ ] Просмотреть активные PSSession:
Get-PSSession. - Сканировать систему на malware (полное сканирование).
- Проанализировать недавно установленные приложения и агенты.
- Выполнить DISM и SFC.
- Ограничить или отключить WinRM, если он не нужен.
- Настроить брандмауэр и GPO для ограничения доступа.
- Сделать снимок системы/резервную копию перед критичными изменениями.
Критерии приёмки
- Нагрузка CPU на сервере стабилизирована в нормальном диапазоне для вашей нагрузки.
- Количество экземпляров wsmprovhost.exe соответствует числу ожидаемых сессий.
- В журналах событий отсутствуют повторяющиеся ошибки WinRM/PowerShell.
- Антивирусные сканы не обнаруживают угроз.
Руководство по откату (Rollback)
- Если после удаления приложения или изменения конфигурации ситуация ухудшилась — восстановите предыдущий образ или снимок системы.
- Восстановите удалённое приложение из официального пакета или репозитория.
- Верните настройки брандмауэра/GPO, сохранённые до изменений.
- Если вы отключали WinRM, включите его обратно:
winrm quickconfigи проверьте доступ.
Когда предложенные решения не помогают
- Если проблема связана с нагрузкой бизнес‑логики в ваших удалённых скриптах, то правильное решение — оптимизация кода/архитектуры (пакетная обработка, очереди, лимиты параллелизма).
- Если наблюдаются периодические всплески во время задач мониторинга — договоритесь с командой мониторинга о снижении частоты опроса или настройке экспоненциальных интервалов.
Безопасность и жёсткая настройка WinRM
- Отключите анонимный доступ и используйте Kerberos/NTLM по необходимости.
- Ограничьте источники соединений через брандмауэр (белые списки IP).
- Включите журналирование и централизованный сбор логов для быстрого расследования.
Часто задаваемые вопросы
Безопасен ли wsmprovhost.exe?
Да. Оригинальный wsmprovhost.exe — системный компонент Windows. Безопасность зависит от местоположения файла и цифровой подписи. Если файл находится не в C:\Windows\System32 или подпись отсутствует — это повод для тревоги.
Могу ли я просто отключить WinRM, чтобы решить проблему?
Да, если удалённое управление вам не нужно. Но отключение лишит администраторов возможности удалённо управлять сервером и выполнять автоматические скрипты.
Что делать, если после всех шагов нагрузка не падает?
Сделайте подробный аудит запущенных скриптов и приложений, используйте Process Explorer для анализа потоков и дескрипторов, и, при необходимости, восстановите систему из резервной копии или обратитесь к команде безопасности для глубокого расследования.
Ключевые выводы
- wsmprovhost.exe — нормальный компонент WinRM, но может потреблять ресурсы при множественных или тяжёлых удалённых сессиях.
- Системный подход: проверить подпись и путь, просканировать на malware, восстановить системные файлы и оптимизировать удалённые скрипты.
- Отключение WinRM — быстрый, но радикальный шаг; лучше сначала выявить корень проблемы.
Перед завершением: сделайте резервную копию и документируйте изменения. Это поможет быстро откатиться, если потребуется.
Если вы применили одно из решений — напишите, какое именно и какова была реакция системы. Это поможет другим администраторам оценить практические сценарии.
Похожие материалы
Soundmoji в Messenger: что это и как пользоваться
Исправление сетевой ошибки Dexcom Clarity
Emergency Bypass на iPhone — как включить
Как не потерять файлы в Dropbox и других облаках
Как установить Facebook Lite через APK на Android