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 и изменять значения / ключи вручную в реестре.