Найти тему
Дед в IT

В ответ на пост

В ответ на пост

В руки мне попалась удивительная организация. При наличии более 100 рабочих мест в ней до сих пор используется рабочая группа с именем, как ни парадоксально, WORKGROUP. При этом на сервере развернут корневой домен Active Directory, но рабочие места в него не введены и доступ к сетевым ресурсам соответственно осуществляется с локальными реквизитами. Больше учетных записей богу учетных записей!

Мне честно лениво продолжать управлять сетью такими инструментами. Поднимать доверенные отношения между FreeIPA и Active Directory тоже... И задач по управлению Windows-клиентами, которые не может решить Ansible, я не вижу... А потом спрос на DevOps-ов сейчас хороший, так что самое время создать себе трудностй для их героического решения.

Ansible управляется windows-клиентами через службу удаленного управления Windows - WinRM (Windows Remote Managment). По умолчанию она включена на серверных версиях ОС, а для включения на клиентах нужно её дополнительно включить.

Сделать это можно с помощью команды

winrm quickconfig

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

C:\Users\kpa39l>winrm quickconfig

Служба WinRM не настроена на прием запросов на компьютере.

Необходимо внести следующие изменения:

Запустите службу WinRM.

Задайте для типа службы WinRM значение отложенного автозапуска.

Выполнить изменения [y/n]? y

Служба WinRM была обновлена для приема запросов.

Тип службы WinRM успешно изменен.

Служба WinRM запущена.

WSManFault

Message

ProviderFault

WSManFault

Message = Исключение брандмауэра WinRM не будет работать, поскольку одно из сетевых подключений, установленных для этого компьютера, является общим. Измените тип сетевого подключения либо на доменное, либо на частное и повторите попытку.

Код ошибки: -2144108183 0x80338169

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

C:\Users\kpa39l>

Можно было бы конечно вручную добавить исключения для портов 5985 и 5986 для Брэндмауэра Windows (что firewall (англ.), что brandmauer (нем.) означает горящая стена или сетевой фильтр, я предпочитаю русскоязычные термины использовать). Но быстрее вбить две команды в консоль и выполнить требования безопасности. Чтобы вывести список сетевых подключений с указанием их типа используем команду PowerShell:

PS C:\Users\kpa39l> Get-NetConnectionProfile

Name : Неопознанная сеть

InterfaceAlias : Ethernet

InterfaceIndex : 10

NetworkCategory : Public

IPv4Connectivity : Internet

IPv6Connectivity : NoTraffic

В строке NetworkCategory как раз и указывается тип профиля сети. Может быть Public, Private и DomainAuthenticated. Как понятно из сообщения нужно его изменить на Privat для моего случая. В домен-то я машины не включал. И теперь по индекс сетевого интерфейса InterfaceIndex, меняю тип сети на Private:

Set-NetConnectionProfile -InterfaceIndex 10 -NetworkCategory Private

При успешном исполнении команда никакой вывод не генерирует.

И теперь можно еще раз запустить команду включения WinRM, для разнообразия используя командлет PowerShell:

PS C:\Users\kpa39l> Enable-PSRemoting –Force

Служба WinRM уже настроена для приема запросов на этом компьютере.

Служба WinRM обновлена для удаленного управления.

Исключение брандмауэра WinRM включено.

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

Теперь и можно проверить настройки WinRM на настроенной машине: