Ansible — Проблемы с настройкой прослушивателя WinRM

#powershell #ansible #winrm

#powershell #ansible #winrm

Вопрос:

Чтобы настроить Windows Server в качестве хоста Ansible, я пытаюсь настроить WinRM, следуя официальной документации, представленной вhttps://docs.ansible.com/ansible/latest/user_guide/windows_setup.html.

Я застрял на шаге «Настройка прослушивателя WinRM» с выполнением следующего comannd, что приводит к ошибке, как описано ниже:

 PS C:UsersAdministrator> New-WSManInstance -ResourceURI "winrm/config/Listener" -SelectorSet $selector_set -ValueSet $value_set
New-WSManInstance : The WS-Management service cannot find the certificate that was requested.
At line:1 char:1
  New-WSManInstance -ResourceURI "winrm/config/Listener" -SelectorSet $ ...
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      CategoryInfo          : InvalidOperation: (:) [New-WSManInstance], InvalidOperationException
      FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.NewWSManInstanceCommand
  

Ниже приведены значения моих «selector_set» и «value_set», которые также установлены в соответствии с документом.

 PS C:UsersAdministrator> $selector_set

Name                           Value
----                           -----
Transport                      HTTPS
Address                        *


PS C:UsersAdministrator> $value_set

Name                           Value
----                           -----
CertificateThumbprint          E6CDAA82EEAF2ECE8546E05DB7F3E01AA47D76CE
  

ОПЕРАЦИОННАЯ система: Windows Server 2012 R2

Комментарии:

1. Какая версия PowerShell? Вам следует обновиться до версии 5.1, если вы еще этого не сделали.

2. E6CDAA82EEAF2ECE8546E05DB7F3E01AA47D76CE это фиктивное значение, вам необходимо заменить его отпечатком действительного сертификата, установленного в хранилище сертификатов на компьютере. Используется Get-ChildItem cert:LocalMachineMy для составления списка установленных сертификатов

Ответ №1:

Это может быть не сразу очевидно, но если вы перечитаете последнюю часть раздела, непосредственно предшествующую шагу «Настройка прослушивателя WinRM» (выделено мной):

При запуске через прослушиватель HTTPS это отпечаток большого пальца сертификата в хранилище сертификатов Windows, который используется при подключении. Чтобы получить подробную информацию о самом сертификате, запустите эту команду с соответствующим отпечатком пальца сертификата в PowerShell:

 $thumbprint = "E6CDAA82EEAF2ECE8546E05DB7F3E01AA47D76CE"
Get-ChildItem -Path cert:LocalMachineMy -Recurse | Where-Object { $_.Thumbprint -eq $thumbprint } | Select-Object *
  

Это говорит нам о том, что E6CDAA82EEAF2ECE8546E05DB7F3E01AA47D76CE это всего лишь пример — вам нужно предоставить отпечаток фактического сертификата, выданного компьютеру.

Чтобы перечислить все существующие сертификаты, установленные в хранилище сертификатов компьютеров с помощью PowerShell, просто удалите Where-Object предложение из команды example:

 Get-ChildItem -Path cert:LocalMachineMy -Recurse 
  

Если не установлен соответствующий сертификат, вам придется установить его. Вы можете либо сгенерировать самозаверяющий сертификат, приобрести сертификат у поставщика центра сертификации, либо зарегистрироваться для получения сертификата в своем внутреннем центре сертификации, если в среде настроены службы сертификатов Active Directory или аналогичный PKI.

Комментарии:

1. Попал в точку! Неловко, что я не дочитал до конца!!! Спасибо. 🙂

2. @VishwasM.R Хаха, всегда пожалуйста, и не нужно смущаться — я заметил это только потому, что я, вероятно, сделал бы то же самое сам, если бы настраивал WinRM в первый раз ^_^