Java обращается к WMI как конкретный пользователь
Я пытаюсь написать приложение Java, которое будет запрашивать WMI на хостах Windows в доменах, чтобы получить их MAC-адрес и DNS-имя. Я могу запустить скрипт через exec или с помощью нескольких банок, которые я нашел в интернете, но ни один из тех, что я видел, не позволяет мне выдавать себя за учетную запись AD при выполнении запроса.
Я хотел бы иметь возможность указать учетную запись, под которой выполняется запрос (администратор этого домена), программа может работать на компьютере, который не входит в домен, или может быть два домена, к которым я буду запрашивать.
Я посмотрел на JACOB и com4J, но не могу найти пример того, как он подражает.
Кроме того, я не продвинутый программист, поэтому извиняюсь, если я пропустил что-то явно очевидное
Заранее спасибо.
2 ответа
Если вы используете метод ConnectServer в SWbemLocator, вы можете указать имя пользователя и пароль для подключения к другому компьютеру как. Однако вы не можете использовать этот метод для подключения к машине, на которой выполняется код.
Если вы просто вызываете скрипт, подумайте об использовании Python. Есть хороший пример того, как сделать это с помощью python в wmi Cookbook
Вы можете обернуть exec
командная строка с вызовом runas
, который запустит команду от имени указанного пользователя.