En este post vamos a explicar como desplegar un nuevo dominio de active directory desde PowerShell.
Lo primero de todo, es tener en cuenta una serie de pre-requisitos antes de realizar la instalación.
Lo primero que debemos tener configurado es la directiva de seguridad para la ejecución de scripts de powerShell, el conocido Execution-Policy.
Ejemplo: Set-ExecutionPolicy remotesigned –force
El comando debe ser ejecutado con un usuarios con derechos de administrador. Una vez establecida la directiva de ejecución, vamos a ver los pre-requisitos.
* Asegurar antes de nada el nombre del servidor.
* Establecer una IP estática para nuestro controlador
* Disponer de un DNS. **
* Disponer de las herramientas de administración.
Estas herramientas son instaladas desde ServerManager o desde el cmdlet de PowerShell Add-WindowsFeature. Vamos a generar un script de PowerShell, basado en los requisitos necesarios, creado por Sciptingui, para la configuración previa necesaria de nuestro entorno.
#Establecer IP Estatica
# Se definen variables/datos
$ipaddress = «192.168.1.10»
$ipprefix = «24»
$ipgw = «192.168.1.1»
$ipdns1 = «192.168.1.1»
$ipdns2 = «192.168.1.10»
$ipif = (Get-NetAdapter).ifIndex
# Se configura la tarjeta de red.
New-NetIPAddress -IPAddress $ipaddress -PrefixLength $ipprefix -InterfaceIndex $ipif -DefaultGateway $ipgw
Set-DnsClientServerAddress -InterfaceIndex $ipif -ServerAddresses (“$ipdns1”,”$ipdns2”)
#Establecer nombre de equipo
# Se define variables/datos
$dcname = «dc00»
Rename-Computer -NewName $dcname –force
#Instalación de herramientas
#Se establece fichero log para comprobaciones
$featureLogPath = «c:\tmp\installfeatureLog.txt»
New-Item $featureLogPath -ItemType file -Force
# Definimos variable con la caracteristica que incluye las tools
$addsTools = «RSAT-AD-Tools»
#Se procede a la instalacion de las Tools y se genera Log
Add-WindowsFeature $addsTools
Get-WindowsFeature | Where installed >>$featureLogPath
# Reinicio de máquina
Restart-Computer
Con la ejecución de este Script de PowerShell, dispondremos todo lo necesario en nuestra maquina para la instalación de un nuevo bosque.
Una vez finalize y reinicie la maquina, podemos comprobar que los cambios han sido aplicados correctamente.
Toca el momento de instalar el Controlador de dominio. Creemos un nuevo script. En este punto es necesario utilizar el cmdlet Add-WindowsFeature el cual nos permitira instalar roles y caracterísitcas en nuestro Server 2012 (tal como hicimos anteriormente con las RSAT). Adicionalmente, haremos uso del cmdlet Wait-Job, el cual pausara la ejecución hasta que el comando add-windowsfeature haya terminado.
#Instalamos los roles AD DS, DNS y GPMC
# Definimos log
$featureLogPath = «c:\tmp\featurelog.txt»
# Arrancamos los cmdlets desde start-job para poder pausar
start-job -Name addFeature -ScriptBlock {
# Añadimos el rol de controlador de dominio
Add-WindowsFeature -Name «ad-domain-services» -IncludeAllSubFeature -IncludeManagementTools
# Añadirmos el servicio de DNS
Add-WindowsFeature -Name «dns» -IncludeAllSubFeature -IncludeManagementTools
# Añadimos las consolas de gestion
Add-WindowsFeature -Name «gpmc» -IncludeAllSubFeature -IncludeManagementTools }
# Esperamos a su finalización
Wait-Job -Name addFeature
Get-WindowsFeature | Where installed >>$featureLogPath
Este script instalará los roles y consolas necesarias pero no realizara la instalación del bosque. Para ello, seguiremos con un nuevo script. Con este, vamos a crear el dominio CTXDOM.COM
# Creación del Bosque y añadir controlador de dominio
$domainname = «ctxdom.local»
$netbiosName = «CTXDOM»
Import-Module ADDSDeployment
Install-ADDSForest -CreateDnsDelegation:$false
-DatabasePath "C:\Windows\NTDS"
-DomainMode «Win2012»
-DomainName $domainname
-DomainNetbiosName $netbiosName
-ForestMode "Win2012"
-InstallDns:$true
-LogPath "C:\Windows\NTDS"
-NoRebootOnCompletion:$false
-SysvolPath "C:\Windows\SYSVOL"
-Force:$true
Cuando se ejecute, se nos preguntara el password de Administrador, para el SafeMode.
Para posteriormente, empezar el proceso de configuración del dominio.
Terminará el proceso con un reinicio de la VM:
Y veremos que ya podemos logar como administrador del dominio.
Notas:
* El artículo no es original y esta basado en el artículo de Ed Wilson de Microsoft Scripting Guy.
* Los Scrips han sido probados y testeados en un servidor virtual 2012R2.
Recursos:
* Fuente Original:
http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/03/use-powershell-to-deploy-a-new-active-directory-forest.aspx
* CMDLET for Check FSMO-Roles:
http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-bec6c607