В данной статье мы продолжаем рассказывать про работу с Windows Server Core 2019. В прошлых постах мы рассказали как готовим клиентские виртуальные машины на примере нашего нового тарифа VDS Ultralight с Server Core за 99 рублей. Затем показали как работать с Windows Server 2019 Core и как установить на него GUI. Сегодня мы поговорим про управление с помощью Windows Admin Center.
Фото: ТАСС
Головной болью было, наверное, по соображениям безопасности, разделять роли серверов. Заводить несколько машин, чтобы физически разделить контроллер домена и файловый сервер.
Благо нам на помощь пришла виртуализация, и теперь изолированно друг от друга могут работать несколько служб, которые из соображений безопасности не могут работать на том же сервере. Виртуализация принесла массу удобства, развертывание виртуальных машин из одного шаблона экономит время специалистам, и физически, все в одной коробке с мощным железом.
Машин все меньше, а серверов все больше, даже у меня, для «просто посмотреть» образовалось два контроллера домена, файловый сервер, сервер под Java приложения и еще пачка веб серверов, поэтому давайте поговорим о том, как можно эффективно управлять серверами на Windows, не отрывая левой руки от кофе.
— С помощью Powershell!
Конечно да, но… нет. Продукт позиционируется как удобный инструмент управления гигантской инфраструктурой. Понятно, что это не совсем так, для таких случаев есть Powershell ISE и скрипты, поэтому хотелось бы рассмотреть действительно полезные юзкейсы. Если у вас есть свой опыт, которым вы вы хотели поделиться, мы можем добавить его в эту статью.
TL;DR
Windows Admin Center лучше подходит для управления стоковыми компонентами. На текущий момент только RSAT может управлять установленными ролями.
Используя WAC, можно улучшить безопасность вашей инфраструктуры, если будете использовать его как шлюз.
Сводная таблица того, он умеет и не умеет:
Управление системой
WAC | RSAT | |
---|---|---|
Управление компонентами | Да | Да |
Редактор реестра | Да | Нет |
Управление сетью | Да | Да |
Просмотр событий | Да | Да |
Общие папки | Да | Да |
Управление дисками | Да | Только для серверов с GUI |
Планировщик заданий | Да | Да |
Управление устройствами | Да | Только для серверов с GUI |
Управление файлами | Да | Нет |
Управление пользователями | Да | Да |
Управление группами | Да | Да |
Управление сертификатами | Да | Да |
Обновления | Да | Нет |
Удаление программ | Да | Нет |
Системный монитор | Да | Да |
Управление ролями
WAC | RSAT | |
---|---|---|
Advanced Thread Protection | ПРЕВЬЮ | Нет |
Windows Defender | ПРЕВЬЮ | Да |
Контейнеры | ПРЕВЬЮ | Да |
AD Administrativ Center | ПРЕВЬЮ | Да |
AD Domain and Trusts | Нет | Да |
AD sites and services | Нет | Да |
DHCP | ПРЕВЬЮ | Да |
DNS | ПРЕВЬЮ | Да |
Диспетчер DFS | Нет | Да |
Диспетчер GPO | Нет | Да |
Диспетчер IIS | Нет | Да |
Превью — установка бета версий компонентов для WAC, не входит в состав сборки. Перечислять все не нужно, потому что буквально все компоненты управляются только с помощью RSAT.
Нюансы
Powershell в Windows Admin Center не имеет своей среды сценариев аналогичной Powershell ISE.
Windows Admin Center не поддерживает Powershell ниже 5.0, на старых машинах обязательно нужно ставить новый Powershell, если хотите использовать его.
Главным минусом Windows Admin Center в микро инстансах является потребление оперативной памяти сервера. Он создает четыре сессии по 50-60 мегабайт каждая, и каждая эта сессия остается даже после закрытия Windows Admin Center.
Та же самая проблема и с Powershell через Enter-PSSession, он так же создает новую сессию, и если просто закрыть окно терминала, сессия весом и 70 мегабайт так и останется на удалённом сервере, если её не закрыть её перед выходом с помощью Exit-PSSession или Remove-Pssession.
При использовании Windows Admin Center с этим придется мириться, он отнимет около 170 мегабайт ОЗУ, RSAT таким не страдает.
(См. wsmprovhost.exe)
Упрощаем работу
Максимальное удобство управления достигается если ваша рабочая станция, на которой установлен WAC находится в домене. Он берет учетные данные пользователя, который зашел в систему, подключение к серверам осуществляется по одному щелчку мыши.
Импортировать список серверов можно с помощью txt файла, перечислив имена серверов переносом строки, как и в RSAT.
Что тоже радует, ранее, чтобы интегрировать в AD виртуальную машину на Server Core, приходилось делать это через sconfig, а это значит нужен прямой доступ к его экрану. В случае с хостингами приходилось делать все это через VNC. Теперь, при переходе на главную страницу можно нажать «Изменить идентификатор компьютера» и ввести в домен.
Кстати, чтобы ввести в домен Windows Server 2019, больше не требуется делать Sysprep, потому что Sysprep тоже нужно было завершать через VNC.
Чтобы изменить сетевые настройки теперь нужно сделать два клика. Подключаешься к серверу и меняешь.
Это выходит так же быстро, как и через WinRM, только одной рукой.
Повышаем безопасность
На текущий момент есть четыре типа развертывания. Локальный, в качестве шлюза, установка на один из продакшн серверов и в составе кластера.
*Картинка с сайта майкрософт
Установка в качестве шлюза, на отдельный сервер, наиболее безопасный и рекомендуемый вариант. Это аналог схемы с VPN, когда доступ к управлению имеется только с определенного IP адреса или участка сети.
Согласитесь, гораздо удобнее держать на одной вкладке видосы и мемасы, а на другой Windows Admin Center, нежели целиком терять подключение к ютубу из-за входа в защищенную сеть.
Как же обезопасить все свои N серверов? С помощью следующего скрипта:
## Список серверов через запятую ##
$servers = Get-Content -Path .Servers.txt
## Список правил через перенос строки ##
$rules = Get-Content -Path .Rules.txt
## IP адрес нашего гейта с установленным WAC ##
$gate = "1.1.1.1"
$MySecureCreds = Get-Credential
foreach ($server in $servers.Split("`n")) {
foreach ($line in $rules.Split("`n")) {
Invoke-Command -ComputerName $server -ScriptBlock {
Set-NetFirewallRule -Name $Using:line -RemoteAddress $Using:gate
} -Credential $MySecureCreds
}
}
# список правил, RULES.txt#
RemoteDesktop-UserMode-In-TCP
RemoteDesktop-UserMode-In-UDP
WINRM-HTTP-In-TCP
WINRM-HTTP-In-TCP-PUBLIC
# список ваших серверов, SERVERS.txt#
1.1.1.1, 1.1.1.2, 1.1.1.3
Этот скрипт изменит стандартные правила брандмауэра таким образом, что вы сможете использовать RDP и WinRM только с определенного IP адреса, понадобится для организации безопасного доступа к инфраструктуре.
Powershell в Windows Admin Center не имеет своей среды сценариев аналогичной Powershell ISE, можно только вызывать готовые скрипты.
Кстати, вот так выглядит RDP на Windows Server Core.
Выводы
На текущий момент Windows Admin Center не способен заменить RSAT, однако в нём уже присутствуют функции, которых нет у RSAT. Добавляются старые оснастки, которые не так удобны для управления через браузер.
Странным является приоритет разработки, наиболее активно добавляются функции интегрированные с Azure,
К сожалению, пока что, управлять всеми функциями Windows Server с удобствами можно только подключившись к нему по RDP.
Не смотря на все минусы, у Windows Admin Center есть свой SDK, с помощью которого можно писать свои собственные модули и управлять своим собственным ПО через него, что однажды сделает его лучше RSAT.
Автор: ultra_vds