PowerShell: Enable-PSRemoting para comandos remotos
Las funciones de comunicación remota de PowerShell permiten configurar computadoras para recibir comandos remotos. El administrador puede ejecutar comandos en sistemas remotos.
El cmdlet Enable-PSRemoting configura las computadoras para recibir comandos remotos de PowerShell. La comunicación remota de PowerShell está habilitada de forma predeterminada en las plataformas de servidor Windows. Sin embargo, PSRemoting debe habilitarse mediante Enable-PSRemoting en otras versiones de Windows.
En este tutorial, analizaremos cómo habilitar PowerShell-PSRemoting y utilizar funciones de comunicación remota en el sistema Windows Server.
Habilitación de PowerShell: PSRemoting
Cmdlet: habilitar-PSRemoting
Descripción: Configura computadoras para recibir comandos remotos.
Sintaxis:
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Parámetros:
-Forzar: suprime todas las indicaciones del usuario.
-SkipNetworkProfileCheck: permite psremoting en el sistema de un cliente Windows cuando la computadora está en una red pública. Este parámetro permite que las reglas de firewall en el sistema cliente de Windows reciban comandos remotos desde las mismas computadoras de la subred local. El cmdlet enable-PSRemoting habilita la regla de firewall.
Si desea habilitar el acceso remoto a comandos de todas las redes públicas, utilice el cmdlet Set-NetFirewallRule disponible en NetSecurity . módulo.
-Confirmar: solicita confirmación antes de ejecutar el comando
-whatIf: describe el resultado del comando si se ejecuta.
Sabes: ¡Cómo usar el comando cat en Windows!
Habilitar PSRemoting en el sistema local
La función PSRemoting está habilitada de forma predeterminada en Windows Server 2012, Windows Server 2016 o versiones más recientes del sistema de servidor con sistema operativo Windows.
Para ejecutar el cmdlet Enable-PSRemoting, inicie PowerShell usando ejecutar como administrador.
PS C:\> Enable-PSRemoting Cuando ejecutamos el cmdlet de PowerShell Enable-PSRemoting, ejecuta múltiples operaciones en segundo plano.
- Inicia el servicio de administración remota de Windows (WinRM).
- Establece el tipo de inicio del servicio WinRM como Automático
- Crea un oyente para aceptar cualquier dirección IP.
- Habilitar excepciones de firewall para la administración de WS
- Crear configuración de punto final de sesión de PowerShell
- Habilite todas las configuraciones de sesión.
- Establecer la configuración de todas las sesiones para permitir el acceso remoto
- Reinicie el servicio de administración remota de Windows (WinRM) para aplicar los cambios anteriores.
Enable-PSRemoting reinicie el sistema y configure una regla de firewall para permitir comandos remotos.
Configurar la computadora para recibir comandos sin un mensaje de confirmación
El uso del parámetro Enable-PSRemoting -Force suprime el mensaje de confirmación.
PS C:\> Enable-PSRemoting -Force
El comando anterior se ejecuta solo en la red no pública.
Si desea habilitar psremoting en una red pública, puede utilizar el parámetro -SkipNetProfileCheck
PS C:\> Enable-PSRemoting -SkipNetworkProfileCheck -ForceConsejo de PowerShell: ¡Cómo obtener el nombre de la computadora y el dominio usando PowerShell!
Habilitar PSRemoting de forma remota
PowerShell PSRemoting le permite ejecutar comandos en computadoras remotas habilitando PSRemoting en el sistema local. Sin embargo, para ejecutar un comando de forma remota sin PSRemoting, existen diferentes formas de hacerlo usando PowerShell.
Entendamos Enable-PSRemoting en computadoras remotas con ejemplos.
Usando PSexec Enable Remote en PowerShell
Puede habilitar PSRemoting en una computadora remota usando la Utilidad PSexec.
Haga clic aquí para descargar la utilidad PSexec del sitio web de Microsoft y descomprimir el archivo PSTool.zip en el directorio.
Para ejecutar PSexec.exe, abra PowerShell ejecutar como administrador y navegue hasta la carpeta PSTool donde se encuentra el archivo PSexec.exe.
Para habilitar la comunicación remota en una computadora remota, ejecute el siguiente comando
psexec.exe \\Corp-201 -s powershell Enable-PSRemoting -ForceEl uso del comando anterior habilitará PSRemoting en un sistema remoto. Sin embargo, usar PSexec no es una opción factible si tiene muchas computadoras para habilitar PSRemoting. Requiere descargar la utilidad PSexec.exe.
Utilice PowerShell Telnet o alternativas Telnet para hacer ping a una computadora remota a través de un puerto específico.
Consejo de PowerShell: ¡La mejor manera de descargar archivos zip usando PowerShell!
Usando WMI
Uso del cmdlet Invoke-CimMethod de PowerShell para conectarse a una computadora remota a través de DCOM.
WMI tiene una clase Win32_Process que permite invocar procesos. Usando Invoke-CimMethod, se conecta a una computadora remota, habilitando el comando PSRemoting.
Usando la política de grupo
La mejor forma viable de habilitar el servicio WinRM en muchas computadoras es utilizar la Política de grupo. Con la Política de grupo, puede crear una única política de grupo y aplicarla en la mayoría de las computadoras de una sola vez.
Para utilizar la Política de grupo para habilitar el servicio WinRM, siga los pasos
- Habilitar el servicio WinRM
- Configure el servicio WS-Management en Inicio automático
- Configurar y abrir el puerto del Firewall para el servicio WinRM
- Crear oyente WinRM
Consejo de PowerShell: Utilice Test-Connection para hacer ping a varias computadoras en PowerShell.
Conclusión
Espero que el artículo anterior sobre PowerShell Enable-PSRemoting le resulte útil. Puede habilitar psremoting localmente y configurar la computadora para recibir comandos sin aviso usando el parámetro -Force.
Habilitar PSRemoting de forma remota le permite ejecutar comandos en un sistema remoto, sin PSRemoting, mediante la utilidad Psexec, WMI y el método de política de grupo para aplicar políticas en miles de computadoras a la vez para recibir comandos.
Puede instalar software con scripts de PowerShell de forma remota utilizando los cmdlets Enable-PSRemoting e Invoke-Command.
Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.
