104 votes

Comment puis-je me connecter à un serveur Windows en utilisant une interface de ligne de commande (CLI) ?

Surtout avec l'option d'installer Noyau du serveur dans les versions Server 2008 et supérieures, la connexion aux serveurs Windows via une CLI est une capacité de plus en plus utile, même si elle n'est pas très répandue parmi les administrateurs de Windows.

Pratiquement tous les Windows GUI a une option pour se connecter à un ordinateur distant, mais il n'y a pas d'option de ce type dans l'outil de gestion intégré de Windows. CLI ( cmd.exe ), ce qui donne l'impression initiale que cela pourrait ne pas être possible.

Est-il possible de gérer ou d'administrer à distance un serveur Windows à l'aide d'une CLI ? Et si oui, quelles sont les options disponibles pour y parvenir ?

116voto

HopelessN00b Points 53075

Il existe plusieurs options assez simples pour gérer à distance un serveur Windows distant à l'aide d'une ligne de commande, y compris quelques options natives.

Options natives :

  1. WinRS/WinRM

    • L'outil Windows Remote Shell/Management est le moyen le plus simple de gérer à distance un serveur Windows distant dans un utilitaire de ligne de commande, et comme avec la plupart des utilitaires de ligne de commande Windows, ss64 a une bonne page sur ses options et sa syntaxe .
    • Bien que cela ne soit pas explicitement indiqué dans la documentation Microsoft, cela peut être utilisé pour lancer une instance distante de l'application cmd.exe qui crée une ligne de commande interactive sur le système distant, plutôt qu'une option de ligne de commande pour exécuter une seule commande sur un serveur distant.
      • Comme avec : winrs -r:myserver.mydomain.tld cmd
    • C'est également l'option supportée en natif qui sera probablement la plus familière aux administrateurs d'autres systèmes (*nix, BSD etc.) qui sont principalement CLI -Basé sur l'expérience.
  2. PowerShell

  3. Bureau à distance

    • Ce n'est probablement pas la première chose qui vient à l'esprit en tant que fenêtre. CLI mais bien sûr, l'utilisation de l'option mstsc.exe pour se connecter à un serveur via le protocole Remote Desktop ( RDP ) permet l'utilisation d'une ligne de commande sur le serveur distant.
    • Connexion à une installation Server Core via RDP est en fait possible et donnera la même interface que la connexion à la console - une instance de cmd.exe .

Options populaires et non indigènes :

Même si Windows offre maintenant quelques options natives pour accéder à un serveur distant par l'intermédiaire d'un réseau de type CLI Mais ce n'était pas toujours le cas et, par conséquent, un certain nombre de solutions tierces assez populaires ont été créées. Les trois plus remarquables sont présentées ci-dessous.

  1. Installer SSH sur votre serveur Windows

    • Si vous devez absolument avoir SSH c'est une option aussi, et il y a un guide sur social.technet pour savoir comment installer OpenSSH sur Server 2008.
    • Probablement plus utile pour les administrateurs d'autres systèmes (*nix, BSD etc.) qui font un usage intensif de SSH à cette fin, bien qu'il y ait des avantages, même pour les administrateurs Windows seulement, à disposer d'un seul client émulateur de terminal (tel que PuTTY ) stockent un certain nombre d'ordinateurs cibles et des paramètres personnalisés (ou standardisés) pour chacun d'eux.
  2. PSExec

    • L'option originale pour exécuter des commandes à distance sur un poste Windows par l'intermédiaire du programme Windows CLI c'est une partie de l'excellent Suite SysInternals . Les outils de SysInternals étaient si respectés et utilisés que SyInternals a été racheté par Microsoft, et les outils sont maintenant officiellement pris en charge par Microsoft.
    • Tout comme pour WinRS / RM , PSExec peut être utilisé pour envoyer des commandes simples à un serveur distant, ou pour lancer une instance interactive de l'application cmd.exe sur un ordinateur distant.
      • Comme avec : psexec \\myserver.mydomain.tld cmd
    • Comme pour les autres options, il faut d'abord prendre certaines mesures pour s'assurer que PSExec est en mesure de se connecter à la machine cible. .
  3. Ajouter un dossier d'utilitaires au serveur et stocker sa valeur dans la variable système %PATH%.

    • Comme cela a été noté dans les commentaires, il y a beaucoup de bons programmes SysInternals qui peuvent être exécutés sur la ligne de commande et ciblés sur un système distant, et cela est vrai pour d'autres programmes que SysInternals.
    • En gros, il s'agit de regrouper un ensemble de vos utilitaires Windows préférés dans un dossier que vous transférez sur tous vos serveurs. ajouter ce dossier au %PATH% variable environnementale de vos systèmes . Les deux sont facilement réalisables grâce à GPO .
      • (J'inclus le Suite SysInternals , PuTTY , WinDirStat et un tas de scripts personnalisés que je me retrouve à réutiliser) dans un dossier qui est poussé sur tous mes serveurs.
    • Évidemment, cela est utile pour d'autres choses que la gestion des systèmes Windows via CLI mais je le trouve si utile que je pense qu'il vaut la peine de l'inclure quand même.

5voto

Massimo Points 67633

Pour être complet : bien que ce ne soit pas la meilleure solution pour diverses raisons, tous les systèmes Windows prennent en charge le service Telnet, qui peut être activé à partir de la liste des fonctionnalités.

L'implémentation telnet de Microsoft prend également en charge l'authentification NTLM. Ainsi, contrairement au telnet standard vers un système Unix, aucun mot de passe en clair n'est envoyé sur le réseau lors de son utilisation.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X