Windows PowerShell es una interfaz de consola (CLI) con posibilidad de escritura y unión de comandos por medio de instrucciones (scripts en inglés). Es mucho más rica e interactiva que sus predecesores, desde DOS hasta Windows 7. Esta interfaz de consola está diseñada para su uso por parte de administradores de sistemas, con el propósito de automatizar tareas o realizarlas de forma más controlada.
Conectar dos Windows Server con winrm y grupos de trabajo
Vamos a conectar dos windows server desde la terminal, en mi caso las maquinas se llamaran:
- ServerCA – Cliente
- Core1 – Administrador
Podemos ver los distintas opciones que nos permite «winrm» ejecutamos el siguiente comando winrm -?
, para conectarnos a cualquier maquina vamos a utilizar winrs
del cual podremos obtener ayuda de la siguiente manera winrs -?
Cambiar grupo de trabajo
Primero agregamos ambos servidores a un mismo grupo de trabajo, para ello vamos a cambiarlo desde la powershell
una vez dentro ejecutamos sconfig
y modificamos el grupo de trabajo:
Realizamos el mismo proceso en las dos maquinas.
Establecer relación entre los dos servidores
Ahora añadimos la confianza en cada una de las maquinas:
winrm set winrm/config/client ‘@{TrustedHosts="CORE"}’ winrm set winrm/config/client ‘@{TrustedHosts="SERVERCA"}’
Conexión remotamente al core
Te puedes conectar de dos formas diferentes:
#Primera opcion, sintaxis Enter-PSSessions [Nombre_Maquina_ACualNosConectamos] #Ejemplo Enter-PSSessions CORE #Salir Exit-PSSessions CORE #Sintaxis winrs -r:http://[Nombre_Maquina o IP]:5985 -u:[Usuario] "[Comando]". #Ejemplo winrs -r:http://CORE:5985 -u:Administrator "powershell".
Para comprobarlo creamos una carpeta en C:\
que se llame «prueba»:
Y desde el administrador nos conectamos a la maquina remotamente y hacemos un dir
:
Conectar con winrm y https
En el anterior paso hemos realizado una conexxion por http, y ahora vamos a realizarla un poco mas seguro y vamos a agregar un certificado y una conexion por https
Primero desactivamos el firewall desde la powershell PS WSMan:\localhost\Listener> New-NetFirewallRule -DisplayName "Windows Remote Management (HTTPS-In)" -Name "Windows Remote Management (HTTPS-In)" -Profile Any -LocalPort 5986 -Protocol TCP
:
A continuacion desde SERVERCA
vamos a crear un certificado autofirmado, para ello ejecutamos el siguiente comando, desde la powershell:
$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "10.0.0.7"
Creamos el directorio de los certificados
Exportamos el certificado
Nos dirigimos a la carpeta creada mkdir certificados
y lo exportamos:
Export-Certificate -Cert $cert -FilePath cert_core
Creamos listener y añadimos certificado creado
El ultimo paso en nuestro core sera crear un nuevo listener para el nuevo escenario
New-Item -Path WSMan:\Localhost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $cert.Thumbprint -Force
Ahora eliminamos los anteriores listener
que se encuentran en cd WSMan:\localhost\listener
una vez ahi eliminamos los listener anteriores Remove-Item [Nombre_Item]
, tanto en la maquina SERVERCA
, como en CORE
Instalamos característica autoridad certificadora
Ahora desde la powershell vamos a instalar en la maquina CORE
, dicha característica Add-WindowsFeature ADCS-Cert-Authority
:
Conectarnos a disco en ServerCA desde CORE
Ahora vamos a conectarnos a la unidad raiz de CORE, con el siguiente comando:
New-PSDrive -Name H -PSProvider FileSystem -Root \\10.0.0.7\c$ -Credential Administrator
Importar el certificado desde linea de comandos
Para ello ejecutamos el siguiente comando
Import-Certificate -FilePath H:\Users\Administrator\certificados\cert_core -CertStoreLocation "Cert:\LocalMachine\Root"
Conexion a SERVERCA
Ahora nos conectamos a SERVERCA
con el siguiente comando
Enter-PSSession -ComputerName 10.0.0.7 -UseSSL -Credential Administrator
Configuración y administración del servicio WinRM, en entorno de Active Directory, para administración remota de equipos fuera del dominio, HTTPS.
Configurar controlador de dominio ServerEnterprise
Primero configuramos nuestro DNS primero y establecemos 127.0.0.1
Vamos a promover como controlador de dominio a un segundo Server el cual vamos a instalar los roles de active directory
, para ello nos dirigimos en la parte superior de la pantalla y hacemos click sobre Administar - Agregar roles y caracteristicas
Pulsamos siguente hasta encontrar la siguiente pantalla en la cual vamos a seleccionar Active directory domain server
:
Seguimos con las opciones por defecto hasta llegar a la siguiente ventana y instalamos:
Una vez termine la instalación nos solicitara promover el servidor a controlador de dominio, por lo tanto tendremos que especificar un nombre de dominio para las maquinas:
Y le asignamos un nombre de dominio y una contraseña:
Siguiendo con la instalación nos va a solicitar el nombre del dominio “NetBIOS”:
Continuamos con las opciones por defecto y ya podemos promoverlo:
Comprobar y configurar listener https
Accedemos a una powershell y comprobamos los listener que se encuentran funcionando dir WSMan:\localhost\listener
Regla de cortafuegos
Ahora creamos la regla de cortafuegos
New-NetFirewallRule -DisplayName "Windows Remote Management (HTTPS-In)" -Name "Windows Remote Management (HTTPS-In)" -Profile Any -LocalPort 5986 -Protocol TCP
Creamos certificado
Y creamos el certificado en el controlador de dominio
$cert = New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "10.0.0.19"
Creación directorio y exportar certificado
Una vez creamos el certificado vamos a crear el directorio mkdir certificados
y lo exportamos
Export-Certificate -Cert $cert -FilePath cert_core
Creacion de listener
Creamos el listener
New-Item -Path WSMan:\Localhost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $cert.Thumbprint -Force
Mapeamos la unidad en CORE
En CODE
, creamos la unidad n
que conecta a Enterprise
, para ello ejecutamos
New-PSDrive -Name N -PSProvider FileSystem -Root \\10.0.0.19\c$ -Credential Administrator
Importamos el certificado
E importamos el certificado
Import-Certificate -FilePath N:\Users\Administrator\certificados\cert_core -CertStoreLocation "Cert:\LocalMachine\Root"
Conectamos remotamente al controlador de dominio
Y por último vamos a comprobar la conexion al controlador de dominio
Enter-PSSession -ComputerName 10.0.0.19 -UseSSL -Credential Administrator
Configuración y administración del servicio WinRM, en entorno de Active Directory, mediante GPO.
Ahora nos dirigimos a nuestra maquiana CORE
la cual vamos a añadir al dominio:
Añadir CORE a controlador de dominio
Para añadir un cliente al dominio ejecutaremos sconfig
:
Crear GPO (Unidad Organizativa)
Primero nos dirigimos a Herramientas - Usuarios y equipos de Active Directory
y agregamos una unidad organizativa, en el dominio pulsamos boton derecho Nuevo - Unidad organizativa
a la cual vamos a llamar «powershell»:
Dentro de esa unidad organizativa vamos a crear otra que se llame core
en la cual vamos a meter la maquina que acabamos de añadir al dominio:
Y creamos la GPO, para ello nos dirigimos a Herramientas - Administracion de directivas de grupo
, desplegamos el bosque y nos dirigimos a Dominios - Enterprise.local - powershell - core
:
Editar GPO
En la gpo creada pulsamos botón derecho y la editamos.
Ahora nos dirigimos a Configuración del equipo - Preferencias - Configuración del Panel de control - Servicios - nuevo - Servicio
:
Editamos la directiva cliente WinRM de la GPO
Editamos las diferentes directivas que vienen por defecto en Directivas - Plantillas administrativas - Componentes de Windows - Administración remota - Cliente WinRM
para que se queden asi:
Editamos la directiva servicio WinRM de la GPO
Nos dirigimos a Directivas - Plantillas administrativas - Componentes de Windows - Administración remota - Servicio WinRM
y habilitamos la directiva Permitir la administración de servidores remotos a través de WinRM
:
Comprobar reglas en el cliente
Ahora actualizamos las directivas GPO gpupdate /force
:
Y comprobamos las nuevas directivas añadidas:
[…] vamos a promover nuestro controlador de dominio podemos verlo explicado Administración remota PowerShell una vez configurado procedemos a realizar las […]