Jinterop模仿

时间:2014-09-05 15:17:30

标签: java wmi j-interop

我使用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 个答案:

答案 0 :(得分:0)

我不是百分百肯定,但我已经与j-interop合作了一段时间,我从未见过或读过这个功能,所以我不认为这是可能的。在我看来,你总是必须指定凭据。

此外,我很好奇这是否真的适合你?:

JISystem.setAutoRegisteration(true);

这意味着j-interop会根据需要自动尝试修改注册表中的值/键。根据我的经验,如果你想访问WbemScripting.SWbemLocator类,由于更严格的安全限制(必要的密钥由&TrustedInstaller'用户拥有),这种自动修改不再可能从Windows开始Vista及以上。我总是必须将其设置为false并在注册表中手动修改值/键。