Inicialización de servidores con PowerShell

     Buenos días a tod@s, después de un largo parón por diversos motivos personales vuelvo a la carga con cosas nuevas. Últimamente he tenido que generar diversos Scripts con Powershell para la realización de tareas cotidianas realizadas al implementar nuevos servidores como la asignación de direccionamiento estático, desactivar el firewall o cambiar su perfil, deshabilitar funciones de la tarjeta de red y su unión a dominio. Este script lo tengo implementado en todas las plantillas para el despliegue de servidores y en las imágenes WIM agregadas al MDT.

     Voy a separar cada línea del script con un salto de línea, ya que algunos cmdlets por su longitud superan este tamaño, así podréis ver donde empieza y termina cada línea con claridad.

Vamos a ver como generar un script que nos permita llevar a cabo estas configuraciones:

  • El primer paso será cargar los valores que deseamos asignar en variables para luego poder lanzar los cmdlets pertinentes, en el campo dominio para la autenticación local solo necesitareis poner un simple punto“.”, no tiene mucho sentido esto ahora mismo, ya que vamos a estar logados en el servidor recién implementado al lanzar el script, posteriormente tendrá sentido ya que el script que os traigo hoy es una parte de un script mucho mayor que permite muchas mas funcionalidades.

# Definicion de variables

Write-Host ‘INICIALIZACION DE SERVIDOR’ -ForegroundColor “Yellow”

$SERVERNAME=Read-Host “Introduzca el nombre del servidor sin el dominio”

$DOMAIN=Read-Host “Introduzca el dominio”

$USER=Read-Host “Introduzca el usuario”

$USER=”$DOMAIN$USER”

$IP=Read-Host “Introduzca la IP”

$NETMASK=Read-Host “Introduzca la mascara de red”

$GATEWAY=Read-Host “Introduzca la puerta de enlace”

$DNS=Read-Host “Introduzca el servidor DNS”

$DNS=@(“$DNS”)

  • Una vez definidas las variables vamos a pasar a renombrar las interfaces de red.

# Renombrar adaptadores de red

rename-netadapter –name “Ethernet” eth0 -erroraction ‘silentlycontinue’ | Out-Null

rename-netadapter –name “*0″ eth0 -erroraction ‘silentlycontinue’ | Out-Null

rename-netadapter –name “*1″ eth1 -erroraction ‘silentlycontinue’ | Out-Null

rename-netadapter –name “*2″ eth2 -erroraction ‘silentlycontinue’ | Out-Null

rename-netadapter –name “*3″ eth3 -erroraction ‘silentlycontinue’ | Out-Null

rename-netadapter –name “*4″ eth4 -erroraction ‘silentlycontinue’ | Out-Null

  • Ahora pasamos a deshabilitar la configuración DHCP de la NIC y a asignar el direccionamiento deseado.

# Establecer direccionamiento estatico

Get-NetAdapter | set-netipinterface -dhcp disabled

Get-NetAdapter | New-NetIPAddress –addressfamily IPv4 –ipaddress $IP
–PrefixLength $NETMASK -DefaultGateway $GATEWAY

Get-NetAdapter | Set-DnsClientServerAddress -ServerAddresses $DNS

  • Ahora cambiare el perfil de la red a privado, tener en cuenta que este cambio si posteriormente unís el servidor a dominio será sobrescrito y la red pasara a un perfil de dominio.

# Cambiar el perfil de red

Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

  • Ahora en este caso deshabilitare el firewall, pero podéis simplemente cambiar el perfil sustituyendo el ‘*’ del campo –Profile por el perfil deseado y dejándolo habilitado cambiando el campo –Enable a True

# Cambiar el perfil del firewall

Set-NetFirewallProfile -Profile * -Enabled False

  • Este paso nos sirve para desactivar funcionalidades de la NIC como el direccionamiento IPv6, la compartición de archivos e impresoras, en este paso debéis tener mucho cuidado, ya que por ejemplo y como comento en medio de este módulo del script ciertas funcionalidades como la compartición de archivos e impresoras pueden ser necesarios en cierto tipo de servidores como puede ser un DC, ya que en estos recursos necesarios como SYSVOL Y NETLOGON no dejan de ser carpetas compartidas.

# Deshabilitar funciones de la NIC

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_rspndr

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_lltdio

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_implat

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_pacer

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_tcpip6

#La siguiente linea deshabilita la comparticion de impresoras y archivos, en controladores de domino es necesario tenerla activada para que se comparta correctamente NETLOGON y SYSVOL.

Get-NetAdapter | Disable-NetAdapterBinding -ComponentID ms_server

  • Por ultimo vamos a renombrar el servidor y a unirlo al dominio que desemos, para lo cual nos pedirá que introduzcamos como siempre un usuario con privilegios para llevar a cabo la unión al domino que no tendrá nada que ver con el primer usuario que tuvimos que introducir ya que este era el administrador local de la maquina recién implementada.

# Unión a dominio y renombrar servidor

$CREDEN = Get-Credential

Add-Computer -NewName $SERVERNAME -DomainName unir.cloud -credential $CREDEN -restart

Rename-Computer –NewName $SERVERNAME

Con esto ya tenemos nuestro servidor configurado con:

  • Interfaces de red renombradas según nuestro estándar.
  • Direccionamiento estático.
  • Habilitadas las características de las tarjetas de red deseadas.
  • Configurado el perfil de la red.
  • Configurado el perfil del firewall.
  • Nombre del servidor.
  • Unido a dominio.

     Poco a poco iré publicando el resto de partes del script que nos permitirá entre otras funcionalidades, conectar en remoto a un controlador de dominio seleccionado de una lista y realizar diferentes tareas en él, como:

  1. Listado de usuarios
  2. Creación de usuarios.
  3. Creación de usuarios desde archivos CSV.
  4. Listado de grupos.
  5. Creación de grupos.
  6. Agregar usuarios a grupos.

     Espero os sea de ayuda la información como siempre y no olvidéis comentar, dar el pertinente me gusta y enlazar el post en vuestras redes sociales.

     Nos vemos pronto.

También te podría gustar...