Ya disponemos de la versión final de Windows Server 2016 y aquí os presento un pequeño script de PowerShell pensado para realizar una configuración inicial del equipo tras efectuar la instalación.
El script está pensado para utilizarse linea a linea, por lo tanto no se utilizan variables.
También podemos realizar un "copiar-pegar" de todo el código dentro de una ventana de PowerShell y funciona sin problemas.
Recordemos que debemos abrir la ventana de PowerShell como administrador.
La idea de este script es facilitar la configuración iniciar de Windows Server 2016 y así facilitar el desligue de todo tipo de laboratorios.
En entornos de laboratorio, muchas veces no disponemos de herramientas que nos ayudan a desplegar configuraciones como las GPO (Group policy objects), o no disponemos de DHCP para automatizar la configuración TCP/IP de los interfaces de red, entre otros.
Veamos el script, con valores de ejemplo:
* Nombre del equipo: S1
* Configuración TCP/IP interface Ethernet0:
IP: 172.19.0.10
Máscara: 255.255.0.0
Puerta de enlace: 172.19.0.1
DNS: 172.19.0.11
* Sin IPv6.
* Sin Windows Update automático.
* Desinstalar Windows Defender.
* Quitar imagen de fondo en el inicio de sesión.
* Deshabilitar el firewall de Windows.
* Reiniciar el equipo.
Veamos el script, con valores de ejemplo:
Win2016 configuración inicial: La configuración a realizar será la siguiente:
* Nombre del equipo: S1
* Configuración TCP/IP interface Ethernet0:
IP: 172.19.0.10
Máscara: 255.255.0.0
Puerta de enlace: 172.19.0.1
DNS: 172.19.0.11
* Sin IPv6.
* Sin Windows Update automático.
* Desinstalar Windows Defender.
* Quitar imagen de fondo en el inicio de sesión.
* Deshabilitar el firewall de Windows.
* Reiniciar el equipo.
Win2016 configuración inicial: El código del script de PowerShell es el siguiente:
Clear-Host ######################################################################### # Configurador inicial Windows Server 2016 - SYSADMIT.com ######################################################################### #Renombro el equipo sin reiniciar. Rename-Computer -NewName S1 #Elimino configuración de IPs estáticas en todos los interfaces de red, también incluye DNS Servers get-netadapter –name ethernet* | Remove-NetIPAddress -Confirm:$false #Elimino configuración de puertas de enlace en todos los interfaces de red. get-netadapter –name ethernet* |Remove-NetRoute -Confirm:$false #Configuramos una IP estática para el adaptador de red Ethernet0. get-netadapter –name Ethernet0 |new-netipaddress –addressfamily IPv4 –ipaddress 172.19.0.10 –prefixlength 16 –type unicast –defaultgateway 172.19.0.1 #Configuramos IP DNS cliente para el adaptador de red Ethernet0 get-netadapter –name Ethernet0 |set-dnsclientserveraddress –serveraddresses 172.19.0.11 #Deshabilitamos IPv6 (desmarcando el check) para el adaptador de red Ethernet0 get-netadapter –name Ethernet0 |Disable-NetAdapterBinding -ComponentID ms_tcpip6 #Deshabilito Windows Update New-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'NoAutoUpdate' -Value 1 #Desinstalo Windows Defender Uninstall-WindowsFeature -Name Windows-Defender -confirm:$false #Quito la imagen de fondo en el login Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\System' -Name 'DisableLogonBackgroundImage' -Value '1' #Deshabilito firewall Get-NetFirewallProfile | Set-NetFirewallProfile –Enabled False #Reinicio equipo Restart-Computer -force #Fin.
Win2016 configuración inicial: Funcionamiento del script
- Para cambiar de nombre el equipo, utilizamos el cmd-let: Rename-Computer, podríamos utilizar el parámetro -Restart para realizar el reinicio en ese momento.
- Para cambiar el TCP/IP del adaptador de red Ethernet0, en primer lugar con los cmd-lets: Remove-NetIPAddress y Remove-NetRoute, eliminamos cualquier configuración anterior de direcciones IP asignadas manualmente.
En teoría este paso no sería necesario ya que si tenemos una instalación de Windows recién hecha, la configuración de TCP/IP de los adaptadores de red estará en "Automático", sin embargo, si queremos volver a ejecutar todo el script, será imprescindible realizar el borrado de la configuración de IPs estáticas.
Para obtener la lista de interfaces, se utiliza el cmd-let: get-netadapter –name. Fijémonos que el script usa un comodín cuando queremos especificar todos los interfaces.
- Cuando establecemos la máscara de subred del interfaz de red, en el ejemplo, utilizamos: –prefixlength 16 que corresponde a: 255.255.0.0. El formato para especificar la máscara es: CIDR (Classless Inter-Domain Routing). Podemos ver su funcionamiento y equivalencias en el siguiente post:
TCPIP: CIDR máscara IPv4 (SYSADMIT.com)
- Para desactivar IPv6, utilizamos el cmd-let: Disable-NetAdapterBinding, sin embargo existen métodos alternativos. Podemos ver el detalle, en el siguiente post:
Windows: Deshabilitar ipv6 (SYSADMIT.com)
- Existen elementos, como Windows Update, o mostrar imagen en la pantalla de login, que para configurarse se debe utilizar una clave en el registro. Para establecer claves en el registro utilizando PowerShell, se utiliza el cmd-let: New-ItemProperty
- Desinstalamos el antivirus que integra Windows Server 2016 con el cmd-let: Uninstall-WindowsFeature, otra opción hubiese sido, desactivarlo.
- Al deshabilitar el firewall, lo hacemos para todos los perfiles.
---
Si disponéis de algún cmd-let útil para realizar una configuración inicial de Windows Server 2016, indicarlo en forma de comentario y lo añadiré.
¡Gracias! y espero que os sirva de ayuda.
No hay comentarios:
Publicar un comentario