ti-enxame.com

Como posso me conectar a um servidor Windows usando uma interface de linha de comando? (CLI)

Especialmente com a opção de instalar Server Core no Server 2008 e acima, conectar-se a servidores Windows através de um CLI é uma capacidade cada vez mais útil, se não uma que é muito difundida entre os administradores do Windows.

Praticamente todas as ferramentas de gerenciamento do Windows GUI têm uma opção para conectar-se a um computador remoto, mas não existe essa opção presente no Windows interno CLI (cmd.exe), que dá a impressão inicial de que isso pode não ser possível.

É possível gerenciar remotamente ou administrar um Windows Server usando uma CLI? E se sim, que opções existem para conseguir isso?

96
HopelessN00b

Existem várias opções bastante fáceis disponíveis para gerenciar remotamente um Windows Server remoto usando uma linha de comando, incluindo algumas opções nativas.

Opções nativas:

  1. WinRS/WinRM

    • A ferramenta Shell/Gerenciamento Remoto do Windows é a maneira mais fácil de gerenciar remotamente um servidor Windows remoto em um utilitário de linha de comando e, como na maioria dos utilitários de linha de comando do Windows, ss64 possui uma boa página de opções e sintaxe .
    • Embora não esteja explicitamente declarado na documentação da Microsoft, isso pode ser usado para iniciar uma instância remota de cmd.exe, que cria uma linha de comando interativa no sistema remoto, e não como opção de linha de comando para executar um único comando em um servidor remoto.
      • Como com: winrs -r:myserver.mydomain.tld cmd
    • Essa também é a opção com suporte nativo que provavelmente será mais familiar para administradores de outros sistemas (* nix, BSD, etc.) que são primariamente baseados em CLI.

  2. PowerShell

  3. Área de Trabalho Remota

    • Provavelmente não é exatamente a primeira coisa que vem à mente como uma opção Window CLI, mas é claro, usando mstsc.exe para conectar-se a um servidor através do Remote Desktop Protocl (RDP) permite o uso de uma linha de comando no servidor remoto.
    • Conectar-se a uma instalação Server Core por RDP, é realmente possível e fornecerá a mesma interface que a conexão ao console - uma instância de cmd.exe.

Opções populares e não nativas:

Embora o Windows agora ofereça algumas opções nativas para acessar um servidor remoto através de um CLI, esse nem sempre foi o caso e, como resultado, várias soluções de terceiros bastante populares foram criadas. Os três mais notáveis ​​estão abaixo.

  1. Instale SSH no seu Windows Server

    • Se você só precisa ter SSH, isso também é uma opção, e existe m guia no social.technet sobre como instalar o OpenSSH no Server 2008.
    • Provavelmente é mais útil para administradores de outros sistemas (* nix, BSD, etc.) que fazem uso intenso de SSH para esse fim, embora existam vantagens para os administradores apenas do Windows por terem um um cliente de emulador de terminal único (como PuTTY ) armazena vários computadores de destino e configurações personalizadas (ou padronizadas) para cada um.

  2. PSExec

    • A opção original para executar comandos remotos em uma caixa do Windows através do Windows CLI, faz parte do excelente Sysinternals Suite . Um dos poucos pacotes "obrigatórios" para administradores do Windows, as ferramentas SysInternals eram tão amplamente respeitadas e usadas que o SyInternals foi comprado pela Microsoft, e as ferramentas agora são oficialmente suportadas pela Microsoft.
    • Assim como WinRS/RM, PSExec pode ser usado para emitir comandos únicos para um servidor remoto ou para iniciar uma instância interativa de cmd.exe em um computador remoto.
      • Como com: psexec \\myserver.mydomain.tld cmd
    • Como nas outras opções, há etapas que você deve executar primeiro para garantir o PSExec é realmente capaz de se conectar à máquina de destino .

  3. Adicione uma pasta de utilitários ao servidor e armazene seu valor na variável de sistema% PATH%

    • Como foi observado nos comentários, há muitos bons programas SysInternals que podem ser executados na linha de comando e direcionados a um sistema remoto, e isso vale mais do que apenas o SysInternals.
    • Basicamente, empacote um pacote de seus utilitários favoritos do Windows em uma pasta que você envia para todos os seus servidores e adicione essa pasta ao %PATH% variável ambiental de seus sistemas . Ambos são feitos facilmente através de GPO.
    • Obviamente, isso é útil para mais do que apenas gerenciar sistemas Windows via CLI, mas acho tão útil que acho que vale a pena incluir de qualquer maneira.
109
HopelessN00b

Por uma questão de integridade: embora possa não ser a melhor solução por vários motivos, todos os sistemas Windows suportam o serviço Telnet, que pode ser ativado na lista de recursos.

A implementação de telnet da Microsoft também oferece suporte à autenticação NTLM; portanto, diferentemente do telnet padrão para um sistema Unix, nenhuma senha de texto não criptografado é enviada na rede ao usá-lo.

5
Massimo