私は現在、リモートにある Windows マシンのコマンド (コマンド プロンプトから) を実行する 1 つの Java アプリケーションの作成に取り組んでいます。
これを開発するために、私は次のことを試しました:
Jsch ライブラリを使用し、Unix マシンに接続するとアプリケーションが正常に動作し、「prstat -a」コマンドを使用してプロセスのリストを取得できましたが、Windows マシンで試してみるとConnectException (Timed out)が発生しました。
private final static String HOSTNAME = "SOMECOMPUTERNAME.XXX.XXX.XXX.COM";// private final static String USERNAME = "SOMEUSERNAME"; private final static String PASSWORD = "SOMEPASSWORD"; private final static int PORT = 22; public static void main(String[] args) { JSch jscc = new JSch(); try { Session session = jscc.getSession(USERNAME, HOSTNAME, PORT); session.setPassword(PASSWORD); Properties localProperties = new Properties(); localProperties.put("StrictHostKeyChecking", "no"); session.setConfig(localProperties); session.connect(60000); System.out.println("Session connected"); } catch (JSchException e) { e.printStackTrace(); } }
ターゲット マシン情報:
- Windows x64 ワークステーション
- 最新バージョンの Java がインストールされている
- 暗号化を使用しません
これをガイドしてください.Jschライブラリで実行できますか.そうでない場合は、どの方法をお勧めしますか.
次のことを想定できます。
- ターゲット マシンにコードは必要ありません。したがって、私のワークステーションに常駐し、ターゲット ウィンドウ マシンで dir や start applicationName などのいくつかの単純なウィンドウ コマンドを実行するだけの Java アプリケーション
- ユーザー名と対応するパスワードを持っています
- IPアドレスはありません。上記のコードに示されている形式の完全なコンピューター名(HOSTNAME)です。
どんな提案も歓迎します。
よろしく、
icr