netlogonConnection.connect(
_domainController, _domainControllerName, _ntlmServiceAccount,
_secureRandom);
NetlogonAuthenticator netlogonAuthenticator =
netlogonConnection.computeNetlogonAuthenticator();
NetlogonIdentityInfo netlogonIdentityInfo =
new NetlogonIdentityInfo(
domain, 0x00000820, 0, 0, userName, workstation);
NetlogonNetworkInfo netlogonNetworkInfo = new NetlogonNetworkInfo(
netlogonIdentityInfo, serverChallenge, ntResponse, lmResponse);
NetrLogonSamLogon netrLogonSamLogon = new NetrLogonSamLogon(
_domainControllerName, _ntlmServiceAccount.getComputerName(),
netlogonAuthenticator, new NetlogonAuthenticator(), 2,
netlogonNetworkInfo, 2, new NetlogonValidationSamInfo(), 0);
DcerpcHandle dcerpcHandle = netlogonConnection.getDcerpcHandle();
dcerpcHandle.sendrecv(netrLogonSamLogon);