基于winrm4j版本0.10.0上重新写了个执行类,原代码关于设置编码的地方都写死了,无法重新设置,所以返回的中文会是乱码。这问题已向原作者反馈了https://github.com/cloudsoft/winrm4j/issues/133 ,希望后期能完善。
使用方式
final WinRmClientBuilder builder = WinRmClient .builder(WinRmExecutor.getEndpointUrl("127.0.0.1", null)) // .builder("http://127.0.0.1:5985/wsman") .credentials("test", ""); try (WinRmExecutor executor = new WinRmExecutor(builder)) {
// executor.setUseHttps(true); WinRmToolResponse response = executor.executeCmd("ipconfig"); System.out.println(response.getStatusCode()); System.out.println(response.getStdOut()); System.out.println(response.getStdErr()); System.out.println("---------------------"); response = executor.executePs("echo $env:temp"); System.out.println(response.getStatusCode()); System.out.println(response.getStdOut()); System.out.println(response.getStdErr()); System.out.println("---------------------"); String script = "@echo off\n" + "echo %1 %2\n" + "echo %3"; response = executor.executeBatScript(script, "aa bb 123", null); System.out.println(response.getStatusCode()); System.out.println(response.getStdOut()); System.out.println(response.getStdErr()); }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209640.html原文链接:https://javaforall.net
