Я пытаюсь заставить две машины рабочей группы (обе с Windows 2012 R2) общаться друг с другом с помощью PowerShell через WinRM. Назовем их ServerA и ServerB. На обеих машинах я выполнил следующие команды:
Enable-PSRemoting -Force
Set-Item WsMan: \ localhost \ client \ trustedhosts Сервер [A | B]
Restart-Service WinRM
С ServerB я могу удаленно подключиться к ServerA с помощью команды Enter-PSSession ServerA
. Однако я не могу подключиться в другом направлении. ServerA не может подключиться к ServerB. Я получаю следующее сообщение об ошибке:
enter-pssession: Ошибка подключения к удаленному серверу ServerB с следующее сообщение об ошибке: клиент не может подключиться к месту назначения указанные в запросе. Убедитесь, что услуга в пункте назначения работает и принимает запросы. См. Журналы и документацию по Служба WS-Management, работающая в месте назначения, чаще всего IIS или WinRM. Если местом назначения является служба WinRM, выполните следующую команду на пункт назначения для анализа и настройки службы WinRM: "winrm quickconfig". Для получения дополнительных сведений см. Раздел справки about_Remote_Troubleshooting. В строке: 1 символ: 1 + enter-pssession ServerB + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidArgument: (ServerB: String) [Enter-PSSes sion], PSRemotingTransportException + FullyQualifiedErrorId: CreateRemoteRunspaceFailed
Я также пробовал подключать удаленный сеанс к самому серверу. IE с ServerB Enter-PSSession ServerB
. Я получаю ту же ошибку, что и выше. Я попытался полностью отключить оба брандмауэра, и это тоже не помогло. Я также попытался выполнить Test-NetConnection ServerB -port 5985
и получил предупреждение:
ПРЕДУПРЕЖДЕНИЕ: TCP-соединение с ServerB: сбой 5985
ComputerName: ServerB
RemoteAddress: ip
RemotePort: 5985
InterfaceAlias: Ethernet
SourceAddress: ip
PingSucceeded: True
PingReplyDetails (RTT): 0 мс
TcpTestSucceeded: False
С помощью теста Команда -NetConnection
Я вижу запись в журнале событий PowerShell, которая гласит:
Сообщение об ошибке = исключение, вызывающее ".ctor" ...
Какие еще шаги я могу предпринять для устранения этой проблемы с подключением?
Команда winrm quickconfig (или сокращенная версия winrm qc) выполняет следующие операции: Запускает службу WinRM и устанавливает тип запуска службы на автоматический запуск. Настраивает прослушиватель для портов, которые отправляют и получают сообщения протокола WS-Management с использованием HTTP или HTTPS на любом IP-адресе.
winrm quickconfig
Кажется, проблема в сети. Если TCP-соединение с портом 5985 не работает, нет никакого шанса заставить входящее PSRemoting работать.
Можете ли вы проверить профили подключения (Get-NetConnectionProfile) на ServerB? В общедоступной сети прослушиватель по умолчанию будет использовать только локальную сеть, что приведет к проблемам при попытке подключения с машины в другой подсети. Вы можете легко убедиться в этом, посмотрев на правило входящего брандмауэра:
$rule = Get-NetFirewallRule -Name WINRM-HTTP-In-TCP
Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $rule
Вы можете проверить, исправит ли это обновление правила, разрешающего любой удаленный адрес:
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP -RemoteAddress Any
Очевидный вопрос: почему это работает в противоположном направлении. Я подозреваю, что на другом сервере сеть помечена как «частная». В частных сетях AFAIR connect