winrs [/<параметр>[:<значение>]] <команда> — встроенная команда Windows для запуска программ и команд на удалённом компьютере через протокол WS-Management (WinRM), без RDP и графического сеанса. По официальной справке Microsoft Learn, WinRM устанавливается автоматически во всех поддерживаемых сейчас версиях Windows — Windows 11, Windows 10 и Windows Server; на удалённом компьютере нужно включить приём подключений и иметь права администратора или членство в группе «Remote Management Users».
Синтаксис команды WINRS
winrs [/<параметр>[:<значение>]] <команда>Каждый параметр можно указывать в короткой или длинной форме — например, /r и /remote равнозначны (это прямо отмечено в справке Microsoft). Параметр отделяется от значения двоеточием, сам ключ — косой чертой.
Ключи и параметры
| Ключ | Описание |
|---|---|
/r:<хост> (/remote) | Адрес удалённого компьютера: NetBIOS-имя или URL вида [транспорт://]хост[:порт]. Если не указан — используется localhost. |
/u:<имя> (/username) | Имя пользователя для подключения. Указывается только вместе с /p. |
/p:<пароль> (/password) | Пароль пользователя. Если не указан, а /u указан — WINRS запросит пароль отдельно. |
/d:<путь> (/directory) | Рабочий каталог на удалённом компьютере. По умолчанию — домашняя папка пользователя (%USERPROFILE%). |
/env:<ПЕРЕМ>=<значение> (/environment) | Задаёт переменную среды для удалённого процесса. Для нескольких переменных ключ повторяется. |
/unencrypted | Отправляет сообщения без шифрования. Игнорируется при HTTPS-транспорте; по умолчанию трафик шифруется через Kerberos или NTLM. |
/usessl | Использует SSL-соединение — порт 5986 вместо 5985. |
/compression | Включает сжатие трафика. По умолчанию выключено — старые версии Windows на другой стороне могут его не поддерживать. |
/noecho | Отключает эхо вводимых символов — чтобы ответы на запросы не отображались локально. |
/noprofile | Не загружать профиль пользователя на удалённом хосте. Обязателен, если удалённый пользователь не входит в локальные администраторы — иначе будет ошибка. |
/allowdelegate (/ad) | Разрешает использовать учётные данные пользователя для доступа к другому сетевому ресурсу, а не только к целевому хосту. |
/timeout:<секунды> (/t) | Помечен в справке Microsoft как устаревший параметр. |
/? | Справка по команде. |
Слэш вместо дефиса — не опечатка: именно так параметры WINRS задокументированы у Microsoft сейчас. Варианты с дефисом (
-r) встречаются в старых инструкциях в интернете, но официальный синтаксис справки — через/.
Примеры использования
Команда на удалённом хосте
winrs /r:server01 ipconfig /allРезультат ipconfig /all выведется в локальную консоль — RDP не нужен.
Явные учётные данные
winrs /r:192.168.1.50 /u:DOMAIN\Admin /p:Secret123 hostnameНужно, если текущий пользователь не имеет прав на удалённом хосте.
PowerShell-скрипт на удалённой машине
winrs /r:server02 powershell -ExecutionPolicy Bypass -File "C:\Scripts\report.ps1"Рабочий каталог и переменная среды
winrs /r:buildserver /d:C:\Build /env:TEMP=D:\Temp cmd /c "build.bat release"Такой же приём с переменными среды показан и в справке Microsoft: /env:path=^%path^%;c:\tools.
Интерактивный сеанс CMD
winrs /r:server01 cmdБез явной команды WINRS открывает интерактивную командную строку удалённого компьютера. Команда exit завершает сеанс.
Шифрованное соединение по HTTPS
winrs /r:https://secureserver:5986 /usessl /u:Admin /p:Pass ipconfigНужен рабочий SSL-сертификат и включённый HTTPS-listener WinRM на удалённом хосте.
Частые ошибки и решения
| Симптом | Причина | Решение |
|---|---|---|
| Нет соединения, WinRM не отвечает | На удалённом хосте не настроен приём подключений WinRM | На удалённом хосте от имени администратора выполнить winrm quickconfig — команда включит службу, создаст listener и откроет порт в брандмауэре (по справке Microsoft об установке WinRM) |
| Отказано в доступе при верных учётных данных | Учётная запись не входит в администраторы и не состоит в группе «Remote Management Users» на целевом хосте | Добавить пользователя в группу Remote Management Users через lusrmgr.msc на целевом компьютере |
| Ошибка подключения к хосту в рабочей группе (не домен) | Вне домена не работает взаимная аутентификация Kerberos | Добавить хост в доверенные: winrm set winrm/config/client @{TrustedHosts="имя_или_IP"} |
| Команда не проходит по сети | Брандмауэр блокирует TCP 5985 (HTTP) или 5986 (HTTPS) | Проверить исключения брандмауэра Windows — winrm quickconfig создаёт их только для текущего профиля сети |
Когда применять, а когда нет
WINRS подходит, чтобы быстро выполнить одну команду или скрипт на удалённом сервере без открытия RDP-сессии — например, собрать диагностику или перезапустить службу. Справка Microsoft не отмечает её устаревшей, но для более развитых сценариев (передача объектов, а не текста, параллельное выполнение на десятках хостов, интерактивные PowerShell-сессии) Microsoft активно развивает PowerShell Remoting — командлеты Invoke-Command и Enter-PSSession работают поверх того же WinRM, но возвращают структурированные объекты, а не только текст.
Для разового администрирования одного сервера из командной строки достаточно WINRS. Если нужно выполнить одну и ту же задачу на десятках компьютеров или обработать результат в скрипте — удобнее PowerShell Remoting.
Частые вопросы
Что нужно настроить перед первым использованием WINRS?
На удалённом компьютере — включить WinRM командой winrm quickconfig с правами администратора. Если хост не в одном домене с клиентом, добавьте его в список TrustedHosts.
Какие порты использует WINRS?
HTTP — TCP 5985, HTTPS (с ключом /usessl) — TCP 5986. Оба порта документированы в справке по установке WinRM.
Чем WINRS отличается от PowerShell Remoting?
Обе технологии используют один протокол WS-Management (WinRM), но WINRS — это классическая командная строка с текстовым выводом, а PowerShell Remoting (Invoke-Command, Enter-PSSession) передаёт структурированные объекты и умеет выполнять команды параллельно на нескольких хостах.
Можно ли использовать WINRS для Linux?
Нет. WINRS работает только с хостами Windows, где включён WinRM. Для Linux используйте SSH или PowerShell с OpenSSH-ремотингом.
В каких версиях Windows работает WINRS?
По справке Microsoft, WinRM, а вместе с ним и WINRS, устанавливается автоматически во всех поддерживаемых сейчас версиях Windows — Windows 11, Windows 10 и Windows Server.