Ошибка удаленного взаимодействия PowerShell - сетевой путь не найден
Я не могу подключиться к удаленному серверу с помощью enter-pssession -computername serverA
. Мой сценарий:
- у меня есть 2 сервера Win 2003 R2 в том же домене. ServerA-это сервер WSUS, serverB-это контроллер домена
- оба сервера включили PowerShell remoting
- оба сервера настроили winrm (
winrm quickconfig
) - на обоих серверах TrustedHosts установлено значение *
- программы setspn.exe настроен правильно (http, https, wsman и т. д.)
- оба сервера Брандмауэр отключен
- оба сервера имеют PowerShell 2.0
Я пытаюсь enter-pssession -computername serverA
под учетными данными администратора домена от serverB до serverA, и он выдает следующую ошибку:
"""Enter-PSSession: не удалось подключиться к удаленному серверу со следующим сообщением об ошибке: WinRM не может обработать запрос. При использовании проверки подлинности Kerberos произошла следующая ошибка: сетевой путь не найден."""
когда я пытаюсь enter-pssession -computername serverB
под учетными данными администратора домена от сервера, он отлично работает! Он также работает, если я использую localhost так:enter-pssession -computername localhost
под учетными данными администратора домена (на сервере) также работает, но когда я пробую имя хоста на сервере (вместо localhost) enter-pssession -computername serverA
Он выдает ту же ошибку.
Я также пытался использовать get-credential
и предоставить различные типы учетных данных, но это не помогло. Единственное, что помогло, это использование локальной (не доменной) учетной записи администратора и запуск enter-pssession -computername serverA -credentials $cred
и это работал, но только локально, я смог сделать это с локальной машины (от сервера к себе), но не от serverB к serverA под учетными данными serverAadministrator.
какие идеи?
спасибо
4 ответов
прежде всего, я создал переменную учетных данных с моей учетной записью администратора домена:
$cred = get-credential
- Я набрал свой домен\имя пользователя и пароль
затем я использовал IP-адрес вместо параметра hostname in-ComputerName, поэтому enter-pssession выглядит так:
Enter-Pssession -ComputerName 192.168.1.111 -Credential $cred
этот подход работает и для команды invoke-command
invoke-command -ComputerName 192.168.1.111 -Credential $cred -ScriptBlock {hostname}
Я до сих пор не знаю, почему он не работает с хоста и почему я должен создать $cred, но поскольку мне нужно быстрое решение, это отлично работает для меня.
Спасибо за помощь.
у меня была точно такая же проблема. С помощью FQDN работал для меня.
Крис Н прав:
The network path was not found.
это явно ошибка разрешения DNS; особенно если IP-адрес работает. Я бы рискнул сказать, что есть проблемы маршрутизации суффикса имени.
на Имя_компьютера описание говорит, что имя NETBIOS должно работать, но это не в моем тестировании в моем окружении. FQDN-еще один вариант для -Имя_компьютера собственность и исправлена эта ошибка для меня.
попробуйте использовать (используйте свой FQDN, конечно):
Invoke-Command -ComputerName servera.vertigion.com
Примечание: заметьте, это все в нижнем регистре. используя случай верблюда (serverA.vertigion.com) ошибка с той же ошибкой. Я понимаю, что обычно nslookups нечувствительны к регистру.
Примечание: у меня не было проблемы с Ввод-Сеанс PSSession
похоже, что проблема заключается в разрешении имен. Вы можете подтвердить это, пингуя ServerA от ServerB. Если это не сработает, вы сможете работать оттуда. Попробуйте пинговать по FQDN (servera.mydomain.com) или по IP.
Посмотреть подробнее здесь. Я столкнулся с этим в паре серверов, которые работали, но затем спонтанно остановились и начали выдавать сообщение об ошибке OP. Я перезагрузил целевой сервер, и все снова заработало.