PDA

Показать полную графическую версию : Добавление серверов в диспетчер сервера для рабочей группы и домена


Anton04
14-02-2018, 14:04
Создание этой темы это попытка структуривать всю прочитанную информацию по данному вопросу, плюс возможно ещё что-то...

Дано: группа серверов (2012R2), часть серверов в домене, а часть серверов в рабочей группе.
Задача-1: с одного из серверов в домене управлять через "Диспетчер серверов" серверами в рабочей группе.
Задача-2: с одного из серверов в рабочей группе управлять через "Диспетчер серверов" серверами в рабочей группе и в домене.
Можно сказать, что таким образом мы реализуем перекрёстное управление любым сервером и с любого сервера.

Решение и первой и второй задачи состоит из нескольких этапов, есть ли отличие в реализации при решении второй задачи я пока не выяснял, поэтому будем считать, что данные задачи тождественны:

1. Добавляем сервера рабочей группы в доверенные узлы.
2. Разрешаем запуск процессов с повышенными правами не от встроенной учётной записи администратора или системной учётной записи.
3. Настройка Windows Firewall для разрешения подключения к соответствующим службам.

1)
Данной командой в PowerShell мы просматриваем список доверенных серверов:
get-item wsman:\localhost\client\TrustedHosts

Если список пуст, то добавляем нужный сервер в список:
set-Item wsman:\localhost\client\TrustedHosts -Value server1 -Force

где server1 - это имя сервера рабочей группы (вместо имени допускается использовать IP адрес, см. Непонятный TrustedHosts (http://eosfor.blogspot.com/2011/01/trustedhosts.html));
ключ Force необязателен и говорит о том, чтоб не выводить запрос подтверждение о добавлении в список.

Если список доверенных серверов не пуст, то тогда нам поможет команда:
set-Item wsman:\localhost\client\TrustedHosts -Value server1 -Concatenate -Force

где server1 - это имя сервера рабочей группы (вместо имени допускается использовать IP адрес),
ключ Concatenate говорит именно о том, чтоб добавить необходимую запись к уже существующей.
ключ Force необязателен и говорит о том, чтоб не выводить запрос подтверждение о добавлении в список.

И последнее, если нам совсем не хочется каждый раз прописывать новые имена или IP, то выполняем (подчёркиваю, это очень не рекомендуется делать, по соображениям безопасности):
set-item wsman:localhost\client\TrustedHosts -Value * -Force

Тоже самое можно сделать через GPO: Конфигурация компьютера/Административные шаблоны/Компоненты Windows/Удаленное управление Windows/Служба удаленного управления Windows.

Тестируем что коннект есть осуществляется следующим образом (имя сервера может быть как FQDN, так и нет):

Test-WSMan -ComputerName "server1"

2) Данную задачу можно выполнить несколькими способами: с помощью команды PowerShell, с помощью встроенной утилиты REG (из командной строки), с помощью подготовленного (экспортированного) файла реестра или внесением нужного значения напрямую через regedit. Я опишу первые два способа.

PowerShell:
New-ItemProperty -Name LocalAccountTokenFilterPolicy -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -PropertyType Dword -Value 1

cmd или PowerShell:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

3) Тут тоже существую несколько способов, начиная от PowerShell, cmd, GPO и заканчивая GUI интерфейсом Windows Firewall. Описывать как это сделать в GPO или через интерфейс Windows Firewall я не буду, там и так всё наглядно.
Поэтому опишу только как это сделать в PowerShell или cmd (как выполнить все команды в одной среде я ещё не доработал, поэтому у меня получилась сборная солянка из команд PowerShell и cmd).

PowerShell
Enable-PSRemoting

Данная команда делает следующее:
а) запускат WinRM сервис;
б) устанавливает автостарт службы WinRM в автоматический;
в) создает прослушиватель;
г) добавляет исключения файрвола;
д) включает все зарегистрированные конфигурации сессий PowerShell для получения инструкций от удаленных машин;
е) регистрирует конфигурацию если она не зарегистрирована «Microsoft.PowerShell»;
ж) регистрирует конфигурацию если она не зарегистрирована «Microsoft.PowerShell32» на 64 битных машинах;
з) убирает запрет «Deny Everyone» из дескриптора безопасности всех конфигураций сессий;
и) перезапускает сервис WinRM.

и часть команд в cmd.

cmd:
netsh advfirewall firewall set rule name="Удаленное управление Windows (HTTP - входящий трафик)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление брандмауэром Windows (RPC)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление журналом событий (RPC)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление журналом событий (RPC-EPMAP)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление журналом событий (именованные каналы - входящий)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление службой (RPC)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление службой (RPC-EPMAP)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление службой (именованные каналы - входящий)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление томами (RPC - EPMAP)" new enable=yes
netsh advfirewall firewall set rule name="Удаленное управление томами - загрузчик службы виртуальных дисков (RPC)" new enable=yes

Тестируем подключение к сервису WinRM (имя сервера может быть как FQDN, так и нет):

Test-NetConnection -ComputerName server1 -Port 5985

Теоретически это всё, после этого можно добавить любой сервер в "Диспетчер серверов" Windows и после ввода логина и пароля получить доступ.
Но есть нюансы и вопросы на которые я так и не нашёл ответа.

Вопрос который так не был решён:

Как диагностировать, что не сделано (не разрешено) на сервере если после добавления сервера в "Диспетчер серверов" Windows я получаю ошибку: "ошибка проверки подлинности Kerberos"? Притом, что я свободно добавляю любые оснастки в mmс от этого сервера на сервере управления.

P.S. Буду рад исправлениям и дополнениям. :oszone:

P.P.S. Материалы и статьи которые были использованы мной для изучения вопроса:
Remote Management with Server Manager (https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd759202(v=ws.11))
PowerShell Remoting - настройка и удаленное управление (https://habrahabr.ru/post/278691/)
Как использовать контекст "netsh advfirewall firewall" вместо "netsh firewall" для управления поведением брандмауэра Windows в Windows Server 2008 и Windows Vista (https://support.microsoft.com/ru-kz/help/947709/how-to-use-the-netsh-advfirewall-firewall-context-instead-of-the-netsh)
Контекст командной строки Netsh AdvFirewall Firewall (http://www.oszone.net/11214)
PowerShell. Решение проблем связанных с удалённым подключением (http://coolcode.ru/powershell-reshenie-problem-svyazyinnyih-s-udalyonnyim-podklyucheniem-about_remote_troubleshooting/)
Microsoft.WSMan.Management (https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/about/about_wsman_provider?view=powershell-6)
Непонятный TrustedHosts (http://eosfor.blogspot.com/2011/01/trustedhosts.html).




© OSzone.net 2001-2012