Вы смешиваете две отдельные среды, которые имеют значительное перекрытие.DirectoryEntry является частью пакета DirectoryServices, GetObject - это инструмент VBA, который взаимодействует с ActiveDs.dll.
Если это должен быть скрипт Visual Basic, то у вас есть эквивалент DirectoryEntry из метода GetObject () или Find ().Если вам нужен доступ к свойствам, используйте метод object.Get ("property_name") (возвращает массив для многозначных атрибутов)
Если вы можете поменять платформу разработки на что-нибудь .NET, у вас будет доступ ко всемDirectoryServices вы хотите.
РЕДАКТИРОВАТЬ: Если это приложение C # .NET, вот код для использования
private static DirectoryEntry getGroupDE(String group)
{
String adserver = "dc.companyname.com";
String searchroot = "ou=Groups,dc=companyname,dc=com";
DirectorySearcher ds = new DirectorySearcher();
ds.SearchRoot = new DirectoryEntry(String.Format("LDAP://{0}/{1}",adserver,searchroot));
ds.SearchScope = SearchScope.Subtree;
ds.Filter = String.Format("(&(objectCategory=group)(sAMAccountName={0}))",group);
SearchResult sr = ds.FindOne();
if (sr == null)
{
return null;
}
return sr.GetDirectoryEntry();
}