Не удалось подключиться к удаленному серверу с помощью WinRM из PowerShell
Я пытаюсь запустить код powershell с моего компьютера на виртуальную машину на моем компьютере, но я продолжаю получать эту ошибку:
не удалось подключиться к удаленному серверу со следующим сообщением об ошибке : Клиент WinRM не удается обработать запрос. Если аутентификация схема отличается от Kerberos, или если клиентский компьютер не присоединенный к домену, затем должен использоваться транспорт HTTPS или конечный компьютер должен быть добавлен в конфигурацию TrustedHosts установочный. Используйте winrm.cmd для настройки TrustedHosts. Обратите внимание, что компьютеры в списке TrustedHosts может не быть аутентифицирован. Вы можете получить больше сведения об этом, выполнив следующую команду: справка winrm конфиг. Дополнительные сведения см. В разделе about_remote_troubleshooting Раздел справки.
WinRM не удается обработать запрос. Невозможно определить тип содержимого ответа HTTP от компьютера назначения
27.07.2021
itpro
Windows 10, Windows Server 2012 R2
комментариев 5
При настройке WinRM на серверах в домене Active Directory столкнулся со странной проблемой. После того как служба WinRM была настроена и включена на сервере, к ней разрешено удалённое подключение через Windows PowerShell Remoting, при попытке удаленного подключения к данному серверу с помощью команды Enter-PSSession msk-dp01 в консоли PowerShell появляется следующая ошибка WinRM:
Enter-PSSession : Сбой подключения к удаленному серверу msk-dp01. Сообщение об ошибке: Клиенту WinRM не удается обработать запрос. Невозможно определить тип содержимого ответа HTTP от компьютера назначения. Тип содержимого не является допустимым или отсутствует. Подробности см. в разделе справки «about_Remote_Troubleshooting».
+ CategoryInfo : InvalidArgument: (msk-dp01:String) [Enter-PSSession], PSRemotingTransportException
В английской версии Windows ошибка выглядит так:
Enter-PSSession : Connecting to remote server msk-dp01 failed with the following error message : The WinRM client received an HTTP bad request status (400), but the remote service did not include any other information about the cause of the failure. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : InvalidArgument: (msk-dp01:String) [Enter-PSSession], PSRemotingTransportException
При этом на сервере порты WinRm (5985/HTTP, 5986/HTTPS) отвечают и принимают соединения. Проверить доступность TCP портов WinRM можно с помощью утилиты PortQryV2 или командлета PowerShell Test-NetConnection:
TNC msk-dp01 –port 5985
Как оказалось, проблема оказалась связана с большим размером токена Kerberos у пользователя, за счет того, что пользователь состоит в слишком большом количестве доменных групп. Ошибка возникает при превышении размера токена 16 Кб (см статью MaxTokenSize — размер токена Kerberos). В нашей ситуации происходит все тоже самое, сервер WinRm сбрасывает запрос от клиента, т.к. размер заголовка пакета аутентификации превышает 16 Кб. В статье по ссылке мы упоминали, что по-умолчанию в IIS используется размер HTTP заголовка не более 16 Кб, и в случае проблем с HTTP аутентификацией из за большого токена пользователя, его нужно увеличить до 64 Кб
Чтобы исправить проблему, нужно уменьшить размер токена (уменьшить количество групп безопасности, в которых состоит пользователь), а если это невозможно, тогда в редакторе реестра на сервере нужно изменить значение следующих DWORD параметров реестра в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTPParameters
- MaxFieldLength увеличить до 0000ffff (65535)
- MaxRequestBytes увеличить до 0000ffff (65535)
Осталось перезагрузить сервер и проверить подключение WinRm через Enter-PSSession с клиента.
Windows Remote Management на службе системного администратора.
Я опишу процесс, каким образом можно централизованно активировать и настроить службу Windows Remote Management (WinRM) на всех целевых компьютерах с помощью Group Security Policy. Windows Remote Management – это специальный сервис, позволяющий администраторам получить возможность удаленного доступа и управления клиентскими и серверными ОС Windows.
Возьмем обычный ПК с Windows 7, который включен в домен, и на котором не активирована функция Windows Remote Management. В командной строке введем следующую команду:
Запустим командную строку с правами администратора.
WinRM enumerate winrm/config/listener
, должно появиться следующее сообщение об ошибке, свидетельствующее о том, что WRM не установлен:
WSMan Fault. The client cannot connect to the destination specified in the request. Error number: – 2144108526 0?80338012
Если нужно настроить WinRM вручную на отдельной системе, достаточно набрать команду:
winrm quickconfig
Это я рассмотрел вариант установки на единичную рабочую станцию.
В том случае, если нужно настроить WinRM на группе компьютеров, то можно воспользоваться специальными параметрами групповой политики. Создадим групповую политику на контейнер где располагаются рабочие станции. Конфигурация компьютера — Политики — Административные шаблоны -> Компоненты Windows – Удаленное управление Windows . Активируем следующие параметры:
• Клиент службы удаленного управления Windows.
• Служба удаленного управления Windows
В разделе IPv4 filter укажем *, что означает, что компьютер может принимать подключения (а значит и управляющие команды) откуда угодно.
Далее в разделе Конфигурация компьютера – Политики — Административные шаблоны – Компоненты Windows – Удаленная оболочка Windows
Разрешить доступ к удаленной оболочке – Включена
Управлять способом запуска служб можно из следующего раздела групповых политик: Конфигурация компьютера – Политики — Конфигурация Windows — Параметры безопасности — Системные службы.
Открыть службу «Служба удаленного управления Windows (WM-Management) и произвести настройки ниже, см. скриншот.
Все готово. Перезагружаем рабочую станцию и после активации WinRM с помощью групповой политики, на клиентской системе проверим статус службы с помощью знакомой команды:
WinRM enumerate winrm/config/listener
Удостоверимся, что тип запуска службы WinRM задан в автоматический . Хотя по факту тип запуска «автоматический с задержкой», т.к. по умолчанию для службы WinRM задана задержка запуска (параметр DelayedAutoStart=1 в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWinRM ).
После применения групповой политики, данной системой можно управлять удаленно с помощью команд WinRS. Следующая команда откроет командную строку, запущенную на удаленной системе:
После появления окна командной строки вы можете выполнять и видеть результат выполнения любых команд на удаленном компьютере, как будто бы вы работаете за ним локально. Отметим, что на вашем управляющем компьютере WinRM также должна быть активирована.
Удаление Exchange 2013
Добрый день. Достался в наследство сервер Win 2012 R2 с поднятым неработающим Exchange 2013.
Т.к. сервер слабый, а Exchange после установки так и не был работоспособным. Было принято решение удалить его с сервера АД и установить на более мощную отдельную машину. Но возникла проблема. Без отключения базы ящиков удалить не дает. Покрайне мере это первая проблема которая вылезла при удаление.
Но зайти в консоль Exchange тоже нету возможности, вот что пишет в самой консоли.
WIN-A36OC71ANE6.domain. — Такого компа в сети нету.
При выполнение команды enable-PSRemoting выдает следующее
Книга по Exchange 2013
Кто-то может подсказать, где можно качнуть русскую версию ? Нахожу либо платную, либо отрывок, либо.
Не получается установить Exchange 2013
На этапе проверки готовности к установке вылазит ошибка: Ошибка: Схема Active Directory устарела.
Как заблокировать спам в Exchange 2013?
У нас на предприятии настроено Exchange server, бесит нам письмо спам от не существующие адрес.
Exchange 2013 настройка исходящей почты
Добрый день, подскажите пожалуйста по настройке exchange 2013. Вопрос следующий: как сделать что бы.
Если вам нужно просто выкосить всю информацию о том, что в домене был когда-то Exchande, без сохранения какой-либо информации, то воспользуйтесь adsiedit.msc.
я так понимаю ему еще выкосить службы эксчаги с сервера надо, но я тут помочь не могу. ибо закончил админскую карьеру на 2003 R2 9 лет назад. что то еще помню. но не сильно много.
Сообщение от magirus
Так гораздо грустнее.
У меня был случай когда мне нужно было выкосить Exchange, я точно помню, что из AD всю информацию о нём удалял через adsiedit.msc, а после нормально поставил новый, а вот службы. или они после чистки AD удалились без особых проблем, или я ОС сносил, вот ну не помню уже сейчас, но вроде без переустановки ОС обходилось. В последнем случае вопрос к Don1172005, что на сервере ещё есть? На сколько страшно в случае чего ОС переустановить?
На сервере основной контроллер домена, днс и дхцп. Сервер лучше не переустанавливать.
В целом службы можно оставить, просто выключить. В этом случае они вроде не должны мешаться и дать установить на новый сервер.
adsiedit.msc а что тут делать надо, Манов с использованием этой оснастки не встречал особо.
Сообщение от Don1172005
Если DC не единственный, то ничего важного, если единственный, то в обязательном порядке необходимо поднять как минимум ещё один DC, не на текущии работы, а в принципе.
DHCP настройки сбекапить только и проверить, что нет в DNS зон не из AD или особых настроек каких.
Сообщение от Don1172005
Запустить
Там будет древо домена со всеми системными контейнерами (обычно подключается к AD автоматом, но бывает, то его нужно подключить ручками, например конфигурацию).
Но тут нужно быть очень осторожным, можно убить AD, по этому, если сеть не сильно большая и DC всего ничего, лучше поставть на виртуалку ешё один DC и сделай снимок (Обязательно снимок, потому как если убъёте AD эта информация может разойтись по всем DC), на случай необходимости отката AD (откат AD крайне не тривиальная задача, мне делать, славо Богу, не приходилось. Рекомендую не доводить до такой необходимости. Может кто посоветует по адекваттнее способ отката AD).
Удалять только то, что нужно! Не чиго лишнего трогать нельзя! Обязательно должны быть ресурсы для отката AD, т.к. использование данных средств может привести в отказу функционала AD без возможности восстановления, кроме отката из резервной копии (с резервного DC).
Что нужно удалить:
Контекст именования по умолчанию
CN=Configuration,DC=Domain,DC=Local CN=Services CN=Microsoft Exchange
CN=Microsoft Exchange Autodiscover
Удаление выделеных контейнеров вроде должно быть достаточным для удаления информации об Exchange, но к сожелению, сейчас нет времени поднять тестовую среду.
Учтите, что Вы используете adsiedit.msc на свой страх и риск!
Winrm не удается выполнить операцию убедитесь что имя компьютера указано правильно
Сообщения: 2015
Благодарности: 137
Конфигурация компьютера | |
Процессор: Intel Core 2 Duo E8500, 3,16 Ghz | |
Материнская плата: Gigabyte GA-EP45-DS3L | |
Память: DDR2, 667 Mhz, 4 GB (dual mode) | |
HDD: ST3500410AS, 500 Gb, SATA | |
Видеокарта: HIS Radeon 4850 IceQ turbo | |
Звук: Realtek ALC888 @ Intel 82801JB ICH10 — High Definition Audio Controller | |
Блок питания: Huntkey, 450 Watt | |
CD/DVD: PHILIPS SPD2514T | |
Монитор: Samsung SyncMaster 743n, 17 « | |
ОС: Windows Corporate, x86 | |
Индекс производительности Windows: 5,9 |
Доброе время суток. Имеется Windows Server 2016 Standard, не в домене, отрабатываю навыки удаленного управления с помощью Powershell.
— на сервере в PS выполнил Enable-PSRemoting
— с клиента проверил что сервер ( ping ) доступен как по IP-адресу так и имени
— на клиенте пишу new-pssession -computername servername. Получаю ошибку:
new-pssession : [win_srv_2016_st] Сбой подключения к удаленному серверу win_srv_2016_st. Сообщение об ошибке: WinRM не удае
тся обработать запрос. При проверке подлинности Kerberos возникла следующая ошибка: не удается найти компьютер win_srv_2016
_st. Убедитесь, что этот компьютер присутствует в сети и что его имя указано без ошибок. Подробности см. в разделе справки
«about_Remote_Troubleshooting».
строка:1 знак:1
+ new-pssession -computername win_srv_2016_st
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme. RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTra
nsportException
+ FullyQualifiedErrorId : NetworkPathNotFound,PSSessionOpenFailed
Пробую вместо имени сервера писать IP-адрес, получаю другую ошибку:
ew-pssession : [192.168.2.248] Сбой подключения к удаленному серверу 192.168.2.248. Сообщение об ошибке: Клиенту WinRM не
удается обработать запрос. Проверку подлинности по умолчанию можно использовать с IP-адресом при следующих условиях: трансп
ортом является HTTPS или назначением является список TrustedHosts, кроме того, должны быть предоставлены явно указанные уче
тные данные. Чтобы настроить TrustedHosts, используйте winrm.cmd. Обратите внимание, что в списке TrustedHosts могут находи
ться компьютеры, не прошедшие проверку подлинности. Для получения сведений о настройке TrustedHosts используйте следующую к
оманду: winrm help config. Подробности см. в разделе справки «about_Remote_Troubleshooting».
строка:1 знак:1
+ new-pssession -computername 192.168.2.248
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme. RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTra
nsportException
+ FullyQualifiedErrorId : CannotUseIPAddress,PSSessionOpenFailed
— прочитав ошибку, примерно понимаю, что нужно включить клиента в какие-то доверенные узлы на сервере, и использовать явные учетные данные
Пробую на сервере добавить IP клиента командой: set-item wsman:localhostclienttrustedhosts -value 192.168.2.126
— Все равно при подключении по IP получаю ошибку.
Вопрос: что нужно настроить на сервере, чтобы с клиента удачно выполнить команду new-pssession ? Клиент и сервер не в одном домене.
——-
Чем больше узнаешь — тем больше понимаешь что ничего не знаешь.
WinRM не может завершить операцию. Убедитесь, что указанное имя компьютера действительно
Когда я пытаюсь получить служебную информацию на удаленном компьютере, я получил ошибку WINRM.
4 Решение Ramesh Murugesan [2016-10-07 15:24:00]
Попробуйте выполнить обходной путь, чтобы устранить проблему с WINRM.
Подключитесь к удаленному серверу и выполните команду ниже из cmd в качестве администратора.