Я пытаюсь реализовать функциональность для выполнения некоторых приложений с определенными учетными данными.Для этого я проверяю, возможен ли вход в систему с учетными данными.
import com.sun.jna.LastErrorException;
import com.sun.jna.platform.win32.Advapi32;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinBase;
import com.sun.jna.platform.win32.WinNT;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class TestHarness {
public static void main(String[] args) throws UnknownHostException {
WinNT.HANDLEByReference phUser = new WinNT.HANDLEByReference();
System.out.println(InetAddress.getLocalHost().getHostName());
if (!Advapi32.INSTANCE.LogonUser("de313e", ".",
"password", WinBase.LOGON32_LOGON_NETWORK, WinBase.LOGON32_PROVIDER_DEFAULT, phUser)) {
throw new LastErrorException(Kernel32.INSTANCE.GetLastError());
}
}
}
К сожалению, это дает мне
com.sun.jna.LastErrorException: GetLastError() returned 1326
Предоставленное имя пользователя является моим текущим именем пользователя.У кого-нибудь есть идея, почему это не «работает».
Я запускаю его на ОС Windows 10.Мой пароль содержит несколько специальных символов, таких как !
и &
.Имя пользователя:
Заранее благодарим за помощь