Настройте и успешно прослушайте с помощью WinRM в powershell

Я тестирую соединение WinRM с помощью командной строки на моей локальной и удаленной машине, и мой вопрос разделен на две части.

ЧАСТЬ I

Я протестировал TCP/IP-подключение, используя команду ping для проверки связи: IP-адрес локального компьютера и удаленного компьютера, шлюз по умолчанию и DNS-сервер, и он отлично работает как на локальном, так и на удаленном компьютере.

Но при тестировании с помощью команд WinRM я использовал эту команду для поиска прослушивателей и адресов.

winrm e winrm/config/listener

Это дает мне этот вывод для моей локальной машины

Listener
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn =<IP Address>,127.0.0.1, ::1,fe80::100:7f:fffe%13,fe80::803:5e43:50ef:c50%11

Но та же команда, когда я запускаю на удаленной машине, дает мне вывод со всем остальным, кроме

Listener[Source="GPO"]
.
.
.
ListeningOn=null

Я хочу настроить его, чтобы он правильно слушал.

ЧАСТЬ II

И когда я запускаю эти команды одну за другой на моей удаленной машине

winrm id -r:<machine name>
winrm get winrm/config -r:<machine name>
winrm get wmicimv2/Win32_Service?Name = WinRM -r:<machine name>

Он выдает ошибку WSMan с сообщением об ошибке:

The client cannot connect to the destination specified in the request. Verify
that the service on the destination is running and is accepting requests.Consult
the logs and documentation for WS-Management service running on the destination,
most commonly IIs or WinRM. If the destination is the WinRM service, run the 
following command on the destination to analyse and configure the WinRM service:
"winrm quickconfig". 

Принимая во внимание, что те же самые команды, когда я запускаю на своей локальной машине, работают правильно.

winrm id 
winrm get winrm/config
winrm get wmicimv2/Win32_Service?Name = WinRM

В лучшем случае все проблемы, с которыми я сталкиваюсь, связаны с моей удаленной машиной. Из-за чего это происходит и как я могу настроить его для прослушивания и успешного подключения? Спасибо.


Часть II, теперь я могу запустить их на одной из моих других удаленных машин с правильным выводом.

Я внес некоторые изменения в эту конкретную удаленную машину, для которой я разместил вопрос, и поэтому он не будет запускать эти команды, пока я не исправлю часть I, но, кроме того, если ничего не было изменено, он будет работать так же, как и на моем другом удаленные машины.

Я все равно был бы признателен, если бы кто-нибудь помог мне с частью I, в которой я должен избавиться от

Listener[Source=GPO]
..
.
ListeningOn=null

когда я запускаю команду

winrm e winrm/config/listener

потому что это вызывает проблемы, но я не уверен, как отключить/удалить настройки групповой политики.


person sanya    schedule 24.06.2013    source источник
comment
telnet <IP address> 5985 устанавливает соединение? На какой локальной машине вы получаете какой вывод для ListeningOn? Вы запускали winrm qc на обоих хостах?   -  person Ansgar Wiechers    schedule 25.06.2013
comment
Да, я запускал winrm qc на обеих машинах (локальной и удаленной), и они оба дают мне правильный вывод о том, что winRM настроен. И я только что внес поправку в свой вопрос, ListeningOn = null находится на удаленной машине.   -  person sanya    schedule 25.06.2013
comment
Проверьте, есть ли на удаленном узле политика, запрещающая WinRM прослушивать. Вы пытались включить прослушиватель на удаленном хосте? (winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Enabled="true"})   -  person Ansgar Wiechers    schedule 25.06.2013
comment
При использовании этой команды я получаю: Error: Unknown switch: encodedcommand Error: Unknown switch: inputformat Error: Unknown switch: outputformat Error: Invalid use of command line. Type "winrm -?" for help.   -  person sanya    schedule 25.06.2013
comment
Пожалуйста, опубликуйте точную команду, которую вы выполнили.   -  person Ansgar Wiechers    schedule 25.06.2013
comment
Это команда, которую я запускал winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Enabled="true"} Также я использовал эту команду, но даже она не работает winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="HOST";CertificateThumbprint="XXXXXXXXXX"}   -  person sanya    schedule 25.06.2013
comment
Любые предложения для этого? @AnsgarWiechers   -  person sanya    schedule 26.06.2013
comment
Только общие советы по устранению неполадок: проверьте политики, проверьте журнал событий, запустите команду с другой учетной записью и т. д. В остальном у меня нет идей.   -  person Ansgar Wiechers    schedule 26.06.2013
comment
Хорошо. это то, над чем я сейчас работаю. Спасибо.   -  person sanya    schedule 26.06.2013


Ответы (6)


Чтобы определить, какая групповая политика настраивает ваш WinRM, вы можете запустить следующее из административной командной строки:

gpresult /h result.html & result.html

В отображаемом результате найдите Компоненты Windows/Удаленное управление Windows (WinRM)/Служба WinRM. Winning GPO — это место, где вы можете включать/отключать настройки GPO. Используйте GPMC (консоль управления групповыми политиками) для управления групповой политикой.

ListeningOn=null появляется, когда администратор неправильно настроил параметр фильтра IPv4 групповой политики в разделе Разрешить автоматическую настройку прослушивателей, обычно с IP-адресом или сетью, которые не существуют на затронутом сервере. .

person Neossian    schedule 04.09.2013

Чтобы сбросить IP-адреса (ListeningOn), вам, вероятно, потребуется заново создать прослушиватель (удалить старый прослушиватель HTTP и создать новый). Пожалуйста, найдите пример ниже.


В PowerShell:

Remove-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}
New-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}

Вот синтаксис для привязки конкретного IP-адреса:

New-WSManInstance winrm/config/Listener -SelectorSet @{Address="IP:192.168.100.2";Transport="http"}

В командной строке:

winrm delete winrm/config/Listener?Address=*+Transport=HTTP
winrm create winrm/config/Listener?Address=*+Transport=HTTP

Дальнейшее чтение:

Связанный вопрос: разрешить удаленное взаимодействие PowerShell только с одного адреса.

person kenorb    schedule 07.01.2018

У меня была та же проблема, и я обнаружил, что когда параметр GPO: Разрешить удаленное управление сервером через WinRM имел фильтр IPv4, установленный на IP-адрес моего jumphost, команда winrm e winrm/config/listener сгенерировала ListeningOn=null проблема.

Я решил это, установив фильтр на * и вместо этого отсортировав разрешения на уровне брандмауэра.

person Rutgervonapa    schedule 23.02.2016

Я решил эту проблему, изменив объект групповой политики, точно так же, как ответил Neossian (извините, у меня нет репутации, чтобы просто добавить комментарий). Но "Фильтр IPv4" не должен быть пустым и не должен принимать нотацию CIDR (это была моя огромная ошибка). Как уже сказал Craneum, использует «*» для прослушивания на любом интерфейсе или некотором диапазоне IP-адресов, к которым подключены ваши локальные сетевые устройства (например, «192.168.0.1-192.168.0.254» или что-то в этом роде).

НЕ ИСПОЛЬЗУЙТЕ обозначение "192.168.0.0/24". Да, в разделе справки об этом очень ясно сказано, но я использовал неправильную запись.

person helviojr    schedule 13.02.2020

Дело в том, что диапазон IP-адресов, который вы вводите, не является диапазоном, который имеет доступ к системе, а определяет диапазон IP-адресов, который может использоваться системой в качестве интерфейса WinRM. Это означает, что вы должны указать диапазон IP-адресов, который включает все клиентские IP-адреса, на которые влияет объект групповой политики.

person Oliver    schedule 28.02.2020

Убедитесь, что у вас есть фильтр (IPv4 и/или IPv6), определенный в разделе «Разрешить удаленное управление сервером через WinRM» в разделе [Конфигурация компьютера]/[Политики]/[Административные шаблоны]/[Компоненты Windows]/[Удаленное управление Windows (WinRM )]/[Служба WinRM].

Я бы предложил фильтр «*» как для IPv4, так и для IPv6, если вы не знаете, что хотите фильтровать.

person Craneum    schedule 31.01.2020