Исключение javax.xml.ws.soap.SOAPFaultException: Доступ запрещен

#java #powershell #windows-server-2012-r2 #winrm

Вопрос:

Я пытаюсь подключить Windows server 2012 с сервера Linux с помощью java-инструмента wirnm, я использую следующий код,

 WinRmClientContext context = null;
WinRmToolResponse result = null;
WinRmTool.Builder builder = null;
try
{
  context = WinRmClientContext.newInstance();
  builder = WinRmTool.Builder.builder(serverIP, userName, password);
  builder.setAuthenticationScheme(AuthSchemes.NTLM);
  builder.port(5985);
  builder.useHttps(false);
  builder.disableCertificateChecks(true);
  builder.context(context);
  WinRmTool tool = builder.build();
  tool.setRetriesForConnectionFailures(1);
  result = tool.executePs("COMMAND"); 
}
catch (Exception e){
 e.printStackTrace();
}
 

Он отлично работает с учетными данными учетной записи администратора, но когда я попытался использовать учетные данные не администратора или обычного пользователя, это создает проблему «Отказано в доступе».

Исключение в потоке «основной» javax.xml.ws.soap.SOAPFaultException: Доступ запрещен. в org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:195) в org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) в com.sun.proxy.$Proxy46.создать(Неизвестный источник) в sun.reflect.NativeMethodAccessorImpl.invoke0(Собственный метод) в sun.reflect.NativeMethodAccessorImpl.вызовите(NativeMethodAccessorImpl.java:62) в sun.reflect.Делегирование methodaccessorimpl.invoke(делегирование methodaccessorimpl.java:43) в java.lang.reflect.Метод.вызов(Метод.java:498) при вводе-выводе.cloudsoft.winrm4j.клиент.Повторная попытка ProxyHandler.invokeWithRetry(повторная попытка ProxyHandler.java:47) в io.cloudsoft.winrm4j.клиенте.Повторная попытка ProxyHandler.invoke(повторная попытка ProxyHandler.java:34) в com.sun.proxy.$Proxy47.создать(Неизвестный источник) в io.cloudsoft.winrm4j.клиент.WinRmClient.createShell(WinRmClient.java:475) в io.cloudsoft.winrm4j.winrm.WinRmTool.Команда выполнения(WinRmTool.java:348) в io.cloudsoft.winrm4j.winrm.WinRmTool.Команды выполнения(WinRmTool.java:364) в com.tcpwave.winrm.демо.Приложение.основное(Приложение.java:32) Вызвано: org.apache.cxf.привязка.мыло.SoapFault: Доступ запрещен. в org.apache.cxf.привязка.мыло.перехватчик.Soap12FaultInInterceptor.unmarshalFault(Soap12FaultInInterceptor.java:156) в org.apache.cxf.привязка.soap.перехватчик.Soap12FaultInInterceptor.Обработчик сообщений(Soap12FaultInInterceptor.java:66) в org.apache.cxf.привязка.soap.перехватчик.Soap12FaultInInterceptor.Обработчик сообщений(Soap12FaultInInterceptor.java:52) в org.apache.cxf.фазе.Цепочка фазаинтерцепторов.Сделайте исключение(цепочка последовательностей.java:308) в перехватчике org.apache.cxf..AbstractFaultChainInitiatorObserver.on соОбщение(AbstractFaultChainInitiatorObserver.java:112) в орг.apache.cxf.jaxws.обработчик.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:137) в org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:70) на этапе org.apache.cxf.Цепочка фазаинтерцепторов.doIntercept(цепочка phaseinterceptor.java:308)

winrm по умолчанию работает только с учетными записями администраторов. нужно ли настраивать какие-либо другие параметры на сервере Windows или предоставлять какие-либо привилегии или ассоциированные группы пользователям, не являющимся администраторами, для установления связи winrm

Любая помощь или предложение будут высоко оценены

заранее спасибо