Установка Active Directory через Powershell на версию Core


16 июня 2019


Установка Active Directory через Powershell на версию Core

Установку Active Directory я проводил на версии Sercer Core 2016 с Powershell 5.1. Все нужные командлеты должны быть c версии Windows Server 2012. В редакции 2008 командлет будет звучать как Add-WindowsFeature, вместо Install. 

На мой взгляд отличный вариант использовать наш второй сервер AD в виде версии Core т.к. и обновлений существенно меньше, безопасность выше, нагрузка меньше. Единственный минус - это проблемы с ОС или ролью, которые достаточно сложно диагностировать в командной строке, но для этого есть второй сервер с GUI.

В версии Core у нас изначально запускается CMD, что бы запустить Powershell пишем:

powershell

Т.к. я провожу установку на новый сервер первое что я делаю - меняю IP на статику. Для этого получаем список адаптеров:

Get-NetAdapter

Нам нужно значение ifIndex:

Список адаптеров Powershell

Далее меняем IP:

New-NetIPAddress -IPAddress 192.168.3.100 -DefaultGateway 192.168.3.2 -PrefixLength 24 -InterfaceIndex 4

Где:
-IPAddress - IP адрес для этого сервера
-DefaultGateway - шлюз
-PrefixLength - битовая длина маски, в моем случае соответствует 255.255.255.0
-InterfaceIndex - индификатор интерфейса (номер с рисунка выше)

Далее устанавливаем DNS сервер, если нужен (для существующего леса нужен):

Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.3.101,8.8.8.8

Где:
-InterfaceIndex - тот же индефикатор, что и выше
-ServerAddresses - наши DNS, разделенные запятой. 

Меняем имя компьютера:

Rename-Computer -NewName DC1

Где:
-NewName - новое имя

И перезагружаемся:

Restart-Computer 

Теперь нам нужно узнать имя роли для установки. Таким командлетом мы получим все роли и компоненты включающие в себя "AD":

Get-WindowsFeature -Name *AD*

Список ролей powershell

Нам нужно значение из колонки Name. Перейдем к установке роли:

Install-WindowsFeature -Name AD-Domain-Services

Где:
-Name - имя роли

Можно так же добавить ключ -IncludeManagementTools , который добавит компоненты графического интерфейса и средства командной строки. Я обычно добавляю т.к. стараюсь избежать вероятных проблем с RSAT со стороны клиента, но это маловероятно. 

Вот чем эти варианты отличаются:

Разница -IncludeManagementTools

Ключ -WhatIF проверяет как пройдет процесс установки, но не делает ее. Ключ -Verbose проводит установку и показывает весь ход установки более детально.

После этого у нас появится ряд дополнительных команд для установки разных вариантов Active Directory:

Команды установки AD PowerShell

Add-ADDSReadOnlyDomainControllerAccount    - устанавливает домен контроллер только для чтения
Install-ADDSDomain - создает новы домен в лесу
Install-ADDSDomainController - создает домен контроллер
Команды с Test - проверяют пререквизиты перед установкой.

Установка домен контроллера

Далее у нас есть 2 варианта установки. Если мы устанавливаем домен контроллер в существующем лесу, то мы можем его ввести в домен (DNS прописывали выше) а затем выполнить команду от привилегированного пользователя. Вводим в домен этой командой:

Add-Computer -DomainName "domain.local" -Restart

Где:
-DomainName - имя существующего домена

Или мы можем ввести логин/пароль перед самой устновкой домен контроллера:

$Cred = Get-Credential
Install-ADDSDomainController -InstallDns -Credential $Cred -DomainName "domain.local"

Где:
$Cred - переменная с привилегированными учетными данными (powershell сам запросит их). Она не нужна, если мы уже в домене и залогинены под нужной учеткой.
-InstallDNS - устанавливаем DNS
-Credential - переменная с учеткой
-DomainName - имя домена

После этого powershell попросит ввести пароль для восстановления AD и через несколько минут установка завершится.

Одни из дополнительных ключей, которые могут пригодиться:
-InstallationMediaPath - установка базы с флешки (когда база очень большая)
-ReplicationSourceDC - откуда релицировать данные
-SysvolPath - место для хранения sysvol
-DatabasePath - место для хранения базы
-LogPath - место для хранения логов домен контроллера
-MoveInfrastructureOperationMasterRoleIfNecessary - переносит мастера инфраструктуры. Если включен этот ключ, то мы добавить -NoGlobalCatalog соответственно

Установка леса

Install-ADDSForest -DomainName "domain.local"

Если мы просто введем команду, то нас все спросят по сценарию. В случае выше запросят пароль для восстановления AD.

Одни из дополнительных ключей:
-DatabasePath - путь где будет храниться база NTDS
-ForestMode - уровень работы леса
-DomainMode - уровень работы 
-LogPath - место хранения логов
-SysvolPath - место хранения sysvol

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.