Saltar al contenido

¿Cómo puedo conectarme a un servidor de Windows usando una interfaz de línea de comandos? (CLI)

Solución:

Solución 1:

Hay varias opciones bastante fáciles disponibles para administrar de forma remota un servidor Windows remoto mediante una línea de comandos, incluidas algunas opciones nativas.

Opciones nativas:

  1. WinRS / WinRM

    • La herramienta Windows Remote Shell / Management es la forma más fácil de administrar de forma remota un servidor Windows remoto en una utilidad de línea de comandos y, como ocurre con la mayoría de las utilidades de línea de comandos de Windows, ss64 tiene una buena página sobre sus opciones y sintaxis.
    • Aunque no se indica explícitamente en la documentación de Microsoft, esto se puede utilizar para iniciar una instancia remota de cmd.exe, que crea una línea de comando interactiva en el sistema remoto, en lugar de una opción de línea de comando para ejecutar un solo comando en un servidor remoto.
      • Al igual que con: winrs -r:myserver.mydomain.tld cmd
    • Esta es también la opción compatible de forma nativa que probablemente resultará más familiar para los administradores de otros sistemas (* nix, BSD, etc.) que son principalmente CLI-basado.
  2. Potencia Shell

    • Ojalá PowerShell no necesita presentación y se puede utilizar para administrar equipos remotos desde un CLI utilizando WMI (Instrumentación de Administración Windows).
    • La comunicación remota de PowerShell permite la ejecución de scripts y comandos de Powershell en equipos remotos.
    • Hay una serie de buenos recursos sobre el uso WMI + PowerShell para administración remota, como el blog de The Scripting Guy, MSDN WMI Reference y ss64.com, que tiene un índice de comandos de PowerShell 2.0.
  3. Escritorio remoto

    • Probablemente no sea exactamente lo primero que se le ocurra como Ventana CLI opción, pero por supuesto, usando mstsc.exe para conectarse a un servidor a través del protocolo de escritorio remoto (RDP) habilita el uso de una línea de comando en el servidor remoto.
    • Conectarse a una instalación de Server Core a través de RDP, es realmente posible y proporcionará la misma interfaz que la conexión a la consola: una instancia de cmd.exe.
      • Esto puede ser algo contrario a la intuición, ya que Server Core carece de una computadora de escritorio, o de las otras opciones normales de shell de Windows, pero hay un artículo rápido en petri.co.il sobre cómo administrar Server Core sobre RDP, si uno está inclinado a hacerlo.

Opciones populares no nativas:

Aunque Windows ahora ofrece algunas opciones nativas para acceder a un servidor remoto a través de unCLI, este no siempre fue el caso y, como resultado, se crearon una serie de soluciones de terceros bastante populares. Los tres más notables se encuentran a continuación.

  1. Instale SSH en su servidor Windows

    • Si solo debes tener SSH, esa también es una opción, y hay una guía en social.technet sobre cómo instalar OpenSSH en Server 2008.
    • Probablemente más útil para administradores de otros sistemas (* nix, BSD, etc.) que hacen un uso intensivo de SSH para este propósito, aunque existen ventajas incluso para los administradores de Windows por tener un solo cliente de emulador de terminal (como PuTTY) que almacene una cantidad de computadoras de destino y configuraciones personalizadas (o estandarizadas) para cada una.
  2. PSExec

    • La opción original para ejecutar comandos remotos en una caja de Windows a través de Windows CLI, esto es parte de la excelente suite SysInternals. Uno de los pocos paquetes “imprescindibles” para los administradores de Windows, las herramientas de SysInternals fueron tan respetadas y utilizadas que Microsoft compró SyInternals, y las herramientas ahora cuentan con el apoyo oficial de Microsoft.
    • Al igual que con WinRS/RM, PSExec se puede utilizar para emitir comandos individuales a un servidor remoto, o para lanzar una instancia interactiva de cmd.exe en una computadora remota.
      • Al igual que con: psexec \myserver.mydomain.tld cmd
    • Al igual que con las otras opciones, hay pasos que uno debe seguir primero para asegurarse de que PSExec realmente pueda conectarse a la máquina de destino.
  3. Agregue una carpeta de utilidades al servidor y almacene su valor en la variable de sistema% PATH%

    • Como se ha señalado en los comentarios, hay muchos programas SysInternals buenos que se pueden ejecutar en la línea de comandos y dirigidos a un sistema remoto, y esto es cierto para más que solo SysInternals.
    • Básicamente, empaque un paquete de sus utilidades favoritas de Windows en una carpeta que envíe a todos sus servidores y agregue esa carpeta al %PATH% variable ambiental de sus sistemas. Ambos se hacen fácilmente a través GPO.
      • (Incluyo SysInternals Suite, PuTTY, WinDirStat y un montón de scripts personalizados que reutilizo) en una carpeta que se envía a todos mis servidores.
    • Obviamente, esto es útil para algo más que administrar sistemas Windows a través de CLI, pero lo encuentro tan útil que creo que vale la pena incluirlo de todos modos.

Solucion 2:

Solo para completar: aunque puede que no sea la mejor solución por varias razones, todos los sistemas Windows admiten el servicio Telnet, que se puede habilitar desde la lista de características.

La implementación de telnet de Microsoft también admite la autenticación NTLM, por lo que, a diferencia del telnet estándar para un sistema Unix, no se envía una contraseña de texto sin cifrar en la red cuando se usa.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *