tasklist を実行する Java コードがあり、すべて正常に動作します。
List<String> command = new ArrayList<String>();
command.add("tasklist");
command.add("/s");
command.add(device);
command.add("/u");
command.add(user);
command.add("/p");
command.add(pass);
ProcessBuilder pb = new ProcessBuilder(command);
Process p;
try {
p = pb.start();
//tasklistResult = 1 when run as a service. 0 when run as jar.
int tasklistResult= p.waitFor();
}catch (IOException e) {
e.printStackTrace();
}
ただし、Java Service Wrapper を使用して jar を Windows サービスに変換すると、リモート コンピューターでタスクリストが機能しなくなります。「エラー: ログオンに失敗しました: 不明なユーザー名またはパスワードが正しくありません」というエラーが表示されます。systeminfo をリモートでも使用すると、同じ問題/エラーが発生します。ユーザー名/パスワードが正しいことを確信しています。
コンピューターにリモート接続しない場合、プログラムはサービスとして機能します。ping はサービスとしても機能します。tasklist と systeminfo をリモートで適切に実行するサービスを取得するにはどうすればよいですか??