2014-09-05 39 views
1

我使用Jinterop庫訪問遠程WMI。Jinterop模仿

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-互操作會自動嘗試根據需要修改註冊表中的值/項。根據我的經驗,如果您想訪問WbemScripting.SWbemLocator類,由於受到更嚴格的安全限制(必需的密鑰由'TrustedInstaller'用戶擁有),因此無法從Windows Vista及更高版本開始進行自動修改。我總是必須將其設置爲false,並在註冊表中手動修改值/鍵。