Настройка ПК для сбора данных через WinRM

Данная настройка требуется, если при выполнении задачи сетевой инвентаризации, выбран протокол для инвентаризации WinRM.

  • Выполните команду:
    winrm enumerate winrm/config/Listener

  • Если в результатах выполнения вы видите два открытых порта, то проверьте есть ли соединение, у которого в Transpor – https и CertificateThumbprint должно быть заполнено:
    Transport = HTTPS
    CertificateThumbprint = XXXXXXXXXXXXXXXXXXXXXXXXX
  • Если есть, то проверьте список хостов, на которых висит слушатель (поля Address и ListeningOn).
    Необходимо, чтобы агенту было доступно подключение к данному слушателю.
  • Если Address = *, то в поле ListeningOn будут отображаться ВСЕ доступные интерфейсы.
  • Если подходящего соединения нету, то создайте его, как описано в следующем шаге.
  • Выпустите сертификат (если есть уже выпущенный подходящий сертификат, то используйте его и переходите к следующему пункту).
    $cert = New-SelfSignedCertificate -DnsName "5.188.156.86" -CertStoreLocation Cert:\LocalMachine\My

    Важно чтобы DnsName совпадал с хостом или ip адресом машины "5.188.156.86".
  • Создайте слушателя:
    New-WSManInstance -ResourceURI winrm/config/Listener `
    -SelectorSet @{Address="*"; Transport="HTTPS"} `
    -ValueSet @{
    Hostname = "5.188.156.86"
    CertificateThumbprint = "$($cert.Thumbprint)"
    Enabled = $true
    }
    
  • Проверьте, что $cert уже содержит отпечаток сертификата, выпущенного ранее. Т.е. $cert.Thumbprint должно выдавать строку с подписью сертификата.
  • Проверьте, появился ли новый слушатель формата https и CertificateThumbprint из предыдущего пункта.
  • Включите Basic аутентификацию.

Выполните команду:

winrm get winrm/config

Теперь можно проверить соединение с того сервера где установлен агент на сервер который мы хотим опросить.

Для этого выполните команду:

$SecurePassword = ConvertTo-SecureString "XXXXXXX" -AsPlainText -Force;$Credentials = New-Object System.Management.Automation.PSCredential("YYYYYYY", $SecurePassword);$sessionParams = @{ ComputerName = "ZZZZZZZ";  Credential = $Credentials; Port = 5986; UseSSL = $true; SessionOption = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck };Invoke-Command @sessionParams -ScriptBlock {whoami} -Authentication Basic

Где:

  • XXXXXXX – пароль от учетной записи, через которую будет происходить опрос устройства.
  • YYYYYYY – логин учетной записи, через которую будет происходить опрос.
  • ZZZZZZZ – ip либо хост опрашиваемого устройства.

Эту проверку нужно сделать на ПК, где будет происходить сбор данных. Обычно включены все типы подключения.

Для этого выполните команду:

winrm get winrm/config/Client

Если тип подключения не доступен, то включите его.