2014-09-05 5 views
1

Я использую библиотеку Jinterop для доступа к удаленной WMI.Jinterop imersonation

JISystem.setAutoRegisteration(true); 
JISession session = JISession.createSession(System.getenv("USERDOMAIN"), login, password); 
session.useSessionSecurity(true); 
final JIComServer server = new JIComServer(JIProgId.valueOf(WBEM_PROGID), HOST, session); 

Я хочу использовать олицетворение для доступа с помощью текущего пользователя и пароля к удаленной машине. Но когда я использую пустой логин и пароль, я всегда получаю исключение

jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password. 
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:546) 

Можно ли использовать олицетворение в Jinterop?

ответ

0

Я не уверен на 100%, но я работал с j-interop в течение некоторого времени, и я никогда не видел и не читал об этой функции, поэтому я не думаю, что это возможно. По-моему, вы всегда должны указывать учетные данные.

Кроме того, мне интересно, если это действительно работает для вас ?:

JISystem.setAutoRegisteration(true); 

Это означает, что J-Interop автоматически будет пытаться изменить значение/ключи в реестре по мере необходимости. По моему опыту, если вы хотите получить доступ к классу WbemScripting.SWbemLocator, из-за более жестких ограничений безопасности (необходимые ключи принадлежат пользователю «TrustedInstaller»), это автоматическое изменение больше не возможно, начиная с Windows Vista и выше. Мне всегда приходилось устанавливать это значение false и изменять значения/ключи вручную в реестре.

 Смежные вопросы

  • Нет связанных вопросов^_^