Я не могу быть уверен, что это сработает, поскольку у меня нет доступа к необходимым библиотекам, но, похоже, вам нужно будет сделать что-то вроде этого:
Получить ADSIбаночки.Это действительно сложный момент. Возможно, эта статья может помочь с первоначальной конфигурацией, или вы можете перейти с J ++ здесь , или, может быть, этот от Isocra consulting Если вы размещаете свое приложение в Linux и обращаетесь к серверу AD на базе Windows, см. Раздел 3 первой статьи.По сути, вы будете создавать некоторые прокси-серверы Java для COM-объекта ADSI, а затем вызывать их через удаленный сервер AD.
Как только это настроено, тогда это может просто сделать это
public class Main {
public static void main(String args[]) throws Exception {
// The key is not to include any domain in your call apparently
Set domains = (Set) ADsGetObject("WinNT:", IADs.iid);
for (PropertyCache domain: domains) {
System.out.println(domain.getName());
}
}
/**
* @dll.import("activeds", ole)
*/
private static native IUnknown ADsGetObject(String path, _Guid riid);
}
Вместо того, чтобы быть полным ответом, это может просто привести вас в правильном направлении.Тем не менее, похоже, что это может быть очень трудно получить работу.
Этот ответ SO также может помочь (это на C #)