web-dev-qa-db-ja.com

コマンドラインインターフェイスを使用してWindowsサーバーに接続するにはどうすればよいですか? (CLI)

特に、Server 2008以降に Server Core をインストールするオプションがある場合、CLIを介してWindowsサーバーに接続する機能は、Windows管理者の間で広く普及しているものではないにしても、ますます便利になります。

ほとんどすべてのWindows GUI管理ツールにはリモートコンピューターに接続するオプションがありますが、組み込みのWindows CLIcmd.exe)、これは不可能かもしれないという最初の印象を与えます。

CLIを使用してWindowsサーバーをリモートで管理または管理することは可能ですか?もしそうなら、これを達成するためのオプションは何ですか?

96
HopelessN00b

コマンドラインを使用してリモートWindows Serverをリモート管理するためのかなり簡単なオプションがいくつかあります。これには、いくつかのネイティブオプションが含まれます。

ネイティブオプション:

  1. WinRS/WinRM

    • Windowsリモートシェル/管理ツールは、コマンドラインユーティリティでリモートWindowsサーバーをリモート管理する最も簡単な方法です。ほとんどのWindowsコマンドラインユーティリティと同様に、 ss64には、そのオプションに関する適切なページがあります。構文
    • Microsoftのドキュメントには明示的に記載されていませんが、これを使用してcmd.exeのリモートインスタンスを起動できます。これにより、リモートシステムで単一のコマンドを実行するコマンドラインオプションとしてではなく、リモートシステムにインタラクティブなコマンドラインが作成されますサーバ。
      • と同様:winrs -r:myserver.mydomain.tld cmd
    • これは、ネイティブにサポートされているオプションでもあり、主にBSDベースのその他のシステム(* nix、CLIなど)の管理者に最もよく知られています。

  2. PowerShell

  3. リモートデスクトップ

    • おそらく、WindowsのCLIオプションとして最初に思い浮かぶことはないでしょうが、もちろん、リモートデスクトッププロトコル(RDP)を介してmstsc.exeを使用してサーバーに接続すると、リモートサーバーでコマンドラインを使用できるようになります。
    • RDPを介してServer Coreインストールに接続することは実際に可能であり、コンソールに接続するのと同じインターフェイス(cmd.exe。のインスタンスを提供します。

一般的な非ネイティブオプション:

Windowsは現在、aCLIを介してリモートサーバーにアクセスするためのいくつかのネイティブオプションを提供していますが、常にそうであるとは限らず、その結果、かなり人気のあるサードパーティソリューションが多数作成されました。最も注目すべき3つは以下のとおりです。

  1. Windowsサーバーに [〜#〜] ssh [〜#〜] をインストールします

  2. PSExec

    • Windows CLIを介してWindowsボックスでリモートコマンドを実行するための元のオプションは、優れた Sysinternals Suite の一部です。 Windows管理者にとって非常に少数の「必須」パッケージの1つであるSysInternalsツールは非常に広く尊敬され使用されていたため、SyInternalsはMicrosoftから買収され、ツールはMicrosoftによってある程度公式にサポートされています。
    • WinRS/RMと同様に、PSExecを使用して、リモートサーバーに単一のコマンドを発行したり、リモートコンピューターでcmd.exeのインタラクティブなインスタンスを起動したりできます。
      • と同様:psexec \\myserver.mydomain.tld cmd
    • 他のオプションと同様に、 PSExecが実際にターゲットマシンに接続できるようにするために最初に実行する必要がある手順があります

  3. ユーティリティフォルダをサーバーに追加し、その値を%PATH%システム変数に保存します

    • コメントで述べたように、コマンドラインで実行でき、リモートシステムをターゲットにできる優れたSysInternalsプログラムが多数あります。これは、SysInternalsだけではありません。
    • 基本的に、お気に入りのWindowsユーティリティのバンドルを、すべてのサーバーにプッシュするフォルダーにパッケージ化し、 そのフォルダーをシステムの%PATH%環境変数に追加する 。どちらもGPO。を使用して簡単に実行できます。
      • Sysinternals SuitePuTTYWinDirStat そして、自分が再利用しているカスタムスクリプトの束)をすべてのサーバーにプッシュされるフォルダーに入れます
    • 明らかに、これはCLIを介してWindowsシステムを管理するだけでなく、便利ですが、とにかく含める価値があると思います。
109
HopelessN00b

完全を期すためだけです。さまざまな理由で最適なソリューションとは限りませんが、すべてのWindowsシステムがTelnetサービスをサポートしています。これは、機能リストから有効にすることができます。

Microsoftのtelnet実装はNTLM認証もサポートしているため、Unixシステムへの標準のtelnetとは異なり、使用時にネットワーク上にクリアテキストのパスワードは送信されません。

5
Massimo