Java обращается к WMI как конкретный пользователь

Я пытаюсь написать приложение Java, которое будет запрашивать WMI на хостах Windows в доменах, чтобы получить их MAC-адрес и DNS-имя. Я могу запустить скрипт через exec или с помощью нескольких банок, которые я нашел в интернете, но ни один из тех, что я видел, не позволяет мне выдавать себя за учетную запись AD при выполнении запроса.

Я хотел бы иметь возможность указать учетную запись, под которой выполняется запрос (администратор этого домена), программа может работать на компьютере, который не входит в домен, или может быть два домена, к которым я буду запрашивать.

Я посмотрел на JACOB и com4J, но не могу найти пример того, как он подражает.

Кроме того, я не продвинутый программист, поэтому извиняюсь, если я пропустил что-то явно очевидное

Заранее спасибо.

2 ответа

Решение

Если вы используете метод ConnectServer в SWbemLocator, вы можете указать имя пользователя и пароль для подключения к другому компьютеру как. Однако вы не можете использовать этот метод для подключения к машине, на которой выполняется код.

Если вы просто вызываете скрипт, подумайте об использовании Python. Есть хороший пример того, как сделать это с помощью python в wmi Cookbook

Вы можете обернуть exec командная строка с вызовом runas, который запустит команду от имени указанного пользователя.

Другие вопросы по тегам