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


Especialmente con la opción de instalar. Server Core en Server 2008 y superior, conectando a servidores Windows a través de un CLI Es una habilidad cada vez más útil, si no una que está muy extendida entre los administradores de Windows.

Prácticamente todas las ventanas GUI La herramienta de administración tiene una opción para conectarse a una computadora remota, pero no hay tal opción presente en el Windows integrado. CLI (cmd.exe), lo que da la impresión inicial de que esto podría no ser posible.

¿Es posible administrar o administrar de forma remota un servidor Windows usando una CLI? Y si es así, ¿qué opciones hay para lograr esto?


79
2017-09-18 11:11


origen




Respuestas:


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

Opciones nativas:

  1. WinRS / WinRM

    • Windows Remote Shell / Management tool es la forma más fácil de administrar de forma remota un servidor remoto de Windows en una utilidad de línea de comandos, y como con la mayoría de las utilidades de línea de comandos de Windows, ss64 tiene una buena página en 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 comandos interactiva en el sistema remoto, en lugar de una opción de línea de comandos 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 con soporte nativo que probablemente sea más familiar para los administradores de otros sistemas (* nix, BSD, etc.) que son principalmente CLI-basado.

  2. Potencia Shell

  3. Escritorio remoto

    • Probablemente no sea exactamente lo primero que se te ocurra como una ventana CLI Opción, pero por supuesto, usando mstsc.exe para conectarse a un servidor mediante Remote Desktop Protocl (RDP) habilita el uso de una línea de comando en el servidor remoto.
    • Conectando 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.

Opciones populares, no nativas:

Aunque Windows ahora ofrece algunas opciones nativas para acceder a un servidor remoto a través deCLIEsto no siempre fue así y, como resultado, se crearon varias soluciones de terceros bastante populares. Los tres más notables están abajo.

  1. Instalar SSH en su servidor de Windows

    • Si solo debes tener SSH, esa es una opción también, y hay una guía en social.technet sobre cómo instalar OpenSSH en Server 2008.
    • Probablemente la más útil para los administradores de otros sistemas (* nix, BSD, etc.) que hacen un uso intensivo de SSH para este propósito, aunque hay ventajas incluso para los administradores solo de Windows por tener un solo cliente emulador de terminal (como Masilla) almacenan 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 un cuadro de Windows a través de Windows CLI, esto es parte de la excelente Suite SysInternals. Uno de los muy pocos paquetes "obligatorios" para los administradores de Windows, las herramientas de SysInternals fueron tan ampliamente respetadas y utilizadas que SyInternals fue comprada por Microsoft, y las herramientas ahora cuentan con el respaldo oficial de Microsoft.
    • Al igual que con WinRS/RM, PSExec puede utilizarse para emitir comandos individuales a un servidor remoto, o para iniciar 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 tomar primero para asegurar PSExec es realmente capaz de 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 buenos programas de SysInternals que pueden ejecutarse en la línea de comandos y dirigirse a un sistema remoto, y esto es más cierto que solo para SysInternals.
    • Básicamente, empaquete un paquete de sus utilidades favoritas de Windows en una carpeta que envíe a todos sus servidores y agrega esa carpeta a la %PATH% Variable ambiental de sus sistemas.. Ambos se hacen fácilmente a través de GPO.
    • Obviamente, esto es útil para algo más que para administrar sistemas Windows a través de CLI, pero me parece tan útil que creo que vale la pena incluirlo de todos modos.

91
2017-09-18 11:11



No olvide los otros PSTools, como PSList, PSKill, etc. PSExec es solo una pequeña parte de ese conjunto de herramientas y la mayoría está muy poco utilizada. - John Gardeniers
También agregaría que varias utilidades de línea de comandos como shutdown y iisreset (si IIS está instalado) que le permite a uno especificar que una máquina se ejecute y, por lo tanto, se puede usar de forma remota. - Joshua Drake
¿Por qué no mencionaste la característica del servidor Telnet? - abatishchev
@abatishchev Porque nadie debería estar ejecutando un servidor telnet para nada en este día y edad. - HopelessN00b
Funciona bien para ejecutar comandos de la consola cuando se configura correctamente y se ejecuta en un entorno seguro. - abatishchev


Solo por razones de integridad: aunque puede que no sea la mejor solución por varios motivos, todos los sistemas de Windows admiten el servicio Telnet, que se puede habilitar desde la lista de funciones.

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


5
2018-03-31 13:09



servidor telnet ha sido eliminado en Windows 10 - daixtr
Use esto solo si no hay otra forma segura posible. El tráfico aún debe pasar por un vpn asegurado. - mit