Jinterop олицетворение

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

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?

1 ответ

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

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

JISystem.setAutoRegisteration(true);

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

Другие вопросы по тегам