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:
-
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
- Al igual que con:
- 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 principalmenteCLI
-basado.
-
Potencia Shell
- Ojalá
PowerShell
no necesita presentación y se puede utilizar para administrar equipos remotos desde unCLI
utilizandoWMI
(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.
- Ojalá
-
Escritorio remoto
- Probablemente no sea exactamente lo primero que se le ocurra como Ventana
CLI
opción, pero por supuesto, usandomstsc.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 decmd.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.
- 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
- Probablemente no sea exactamente lo primero que se le ocurra como Ventana
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.
-
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 deSSH
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.
- Si solo debes tener
-
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 decmd.exe
en una computadora remota.- Al igual que con:
psexec \myserver.mydomain.tld cmd
- Al igual que con:
- 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.
- La opción original para ejecutar comandos remotos en una caja de Windows a través de Windows
-
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ésGPO
.- (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.