Java Winrm工具可以';无法连接到远程主机
我正在尝试使用Java WinrmTool从运行在Linux上的Java应用程序连接到远程Windows主机 当点击executePs()方法时,应用程序会被卡住并最终超时。我做错了什么Java Winrm工具可以';无法连接到远程主机,java,powershell,winrm,Java,Powershell,Winrm,我正在尝试使用Java WinrmTool从运行在Linux上的Java应用程序连接到远程Windows主机 当点击executePs()方法时,应用程序会被卡住并最终超时。我做错了什么 public WinRmToolResponse execute() { WinRmToolResponse resp = null; try { WinRmClientContext context = WinRmClientContext.newInstance();
public WinRmToolResponse execute() {
WinRmToolResponse resp = null;
try {
WinRmClientContext context = WinRmClientContext.newInstance();
WinRmTool tool = WinRmTool.Builder.builder(this.address, this.userName, this.currentPassword)
.authenticationScheme(AuthSchemes.NTLM)
.port(this.port)
.useHttps(false)
.context(context)
.build();
resp = tool.executePs(this.command);
context.shutdown();
}
catch (Exception e) {
e.printStackTrace();
}
return resp;
}
远程主机为Windows Server 2016,winrm配置如下:
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts = 10.21.191.
Service
RootSDDL = O:NSG:BAD:P(A;
MaxConcurrentOperations =
MaxConcurrentOperationsPe
EnumerationTimeoutms = 24
MaxConnections = 300
MaxPacketRetrievalTimeSec
AllowUnencrypted = true
Auth
Basic = true
Kerberos = true
Negotiate = true
Certificate = false
CredSSP = true
CbtHardeningLevel = R
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = * [Source="G
IPv6Filter = * [Source="G
EnableCompatibilityHttpLi
EnableCompatibilityHttpsL
CertificateThumbprint
AllowRemoteAccess = true
Winrs
AllowRemoteShellAccess =
IdleTimeout = 7200000
MaxConcurrentUsers = 100
MaxShellRunTime = 2147483
MaxProcessesPerShell = 10
MaxMemoryPerShellMB = 204
MaxShellsPerUser = 25
日志:
2021-05-23 12:54:31.617信息30656---[nio-8885-exec-6]o.a.c.w.s.f.ReflectionServiceFactoryBean:创建服务{http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd}来自WSDL:jar:file:/C:/Users/ostopiky/.gradle/caches/modules-2/files-2.1/io.cloudsoft.windows/winrm4j-client/0.7.0/4768e5e75e97d54006d12595d20fbc648dda52ff/winrm4j-client-0.7.0.jar/wsdl/WinRmService.wsdl
2021-05-23 13:11:46.398警告30656---[nio-8885-exec-6]o.a.cxf.phase.phase-InterceptorChain:用于{http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd}WinRmService#{http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd}Receive已引发异常,正在解除
org.apache.cxf.interceptor.Fault:无法接收消息。
在org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderingInterceptor.handleMessage(MessageSenderInterceptor.java:65)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.endpoint.clientmpl.doInvoke(clientmpl.java:531)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:440)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:355)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:313)~[cxf-core-3.2.8.jar:3.2.8]
在org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)~[cxf-rt-frontend-simple-3.2.8.jar:3.2.8]
在org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140)~[cxf-rt-frontend-jaxws-3.2.8.jar:3.2.8]
在com.sun.proxy.$Proxy126.receive(未知源)~[na:na]
在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:na]
在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)~[na:na]
在java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[na:na]
在java.base/java.lang.reflect.Method.invoke(Method.java:564)~[na:na]
在io.cloudsoft.winrm4j.client.RetryingProxyHandler.invokeWithRetry(RetryingProxyHandler.java:44)~[winrm4j-client-0.7.0.jar:na]
在io.cloudsoft.winrm4j.client.RetryingProxyHandler.invoke(RetryingProxyHandler.java:34)~[winrm4j-client-0.7.0.jar:na]
在com.sun.proxy.$Proxy129.receive(未知源)~[na:na]
在io.cloudsoft.winrm4j.client.ShellCommand.receiveCommand(ShellCommand.java:112)~[winrm4j-client-0.7.0.jar:na]
在io.cloudsoft.winrm4j.client.ShellCommand.execute(ShellCommand.java:91)~[winrm4j-client-0.7.0.jar:na]
在io.cloudsoft.winrm4j.winrm.WinRmTool.executeCommand(WinRmTool.java:283)~[winrm4j-0.7.0.jar:na]
在bls.microservices.cptservice.service.cptservice.executePsCommands(cptservice.java:238)~[main/:na]
在bls.microservices.cptservice.service.cptservice.domainAccountActions(cptservice.java:211)~[main/:na]
在bls.microservices.cptservice.controllers.DomainAccountController.getAccountServices(DomainAccountController.java:33)~[main/:na]
在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:na]
在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)~[na:na]
在java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[na:na]
在java.base/java.lang.reflect.Method.invoke(Method.java:564)~[na:na]
在org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)~[spring-web-5.3.3.jar:5.3.3]
在org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)~[spring-web-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.mvc.method.annotation.ServletinInvocableHandlerMethod.invokeAndHandle(ServletinInvocableHandlerMethod.java:106)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)~[spring-webmvc-5.3.3.jar:5.3.3]
在org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)~[spring-webmvc-5.3.3.jar:5.3.3]
在javax.servlet.http.HttpServlet.service(HttpServlet.java:652)~[tomcat-embed-core-9.0.41.jar:4.0.FR]
在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)~[spring-webmvc-5.3.3.jar:5.3.3]
在javax.servlet.http.HttpServlet.service(HttpServlet.java:733)~[tomcat-embed-core-9.0.41.jar:4.0.FR]
在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)~[tomcat-embed-core-9.0.41.jar:9.0.41]
在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0