• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

高手请进!up有分!!关于用ADSI访问AD的问题!

sinsou 2003-03-27 03:36:28
我想用adsi(不是用DirectoryServices)列出ad中所有的组,我用过滤器怎么不起作用啊
代码如下:
Dim ctr As ActiveDs.IADsContainer
Dim obj As Object
Try
ctr = GetObject(ldapStr) 'ldapStr="ldap://machine/dc=xx,dc=xxx,dc=xxx"
ctr.Filter = "group"
For Each obj In ctr
If (obj.Name.ToString().ToLower() = resName.ToLower()) Then
........
Return True
End If
Next

Catch e1 As Exception
ctr = Nothing
Return False
End Try

ctr = Nothing
Return False
...全文
10 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sinsou 2003-03-28
我不想用DirectoryServices,因为我的程序是用adsi,我不想将程序弄的太乱,我想adsi完全能够实现的
回复
sungoodnews 2003-03-28
如何访问 Active Directory
“Active Directory 服务接口”(ADSI) 访问分布式计算环境中来自不同网络提供商的目录服务的功能,以提供单组目录服务接口来管理网络资源。管理员和开发人员可以使用 ADSI 服务来枚举和管理目录服务中的资源,而不管是哪种网络环境包含该资源。可使用 Active Directory 执行常见管理任务,如在整个分布式计算环境中定位资源。
本示例阐释如何在 Active Directory 中定位资源。它是一个小型控制台应用程序,可以从命令提示处运行。该应用程序采用一个命令行参数。第一个参数必须是指向一个 Active Directory 项的有效路径。

尝试运行以下命令,用所需路径替代特定网络的有效 Active Directory 路径:

> ADRead.exe "LDAP://CN=Clarify Operations Team,OU=Distribution Lists,DC=redmond,DC=corp,DC=microsoft,DC=com"


从 Active Directory 读取至少包括:
创建一个新的 DirectoryEntry:

DirectoryEntry objDirEnt = new DirectoryEntry(path);


Dim objDirEnt As DirectoryEntry = New DirectoryEntry(path)
从 Active Directory 读取信息并将信息输出到屏幕:

string tab = " ";
foreach(string key in objDirEnt.Properties.PropertyNames) {
Console.WriteLine(tab + key + " = ");
foreach(Object objCollection in objDirEnt.Properties[key])
Console.WriteLine(tab + tab + objCollection);
}








回复
sungoodnews 2003-03-28
using System;
using System.DirectoryServices;

public class ADRead {
public static void Main(String[] args) {
if(args.Length!=1) {
Console.WriteLine("用法:" + Environment.GetCommandLineArgs()[0] + " <ad_path>");
Console.WriteLine ();
Console.WriteLine ("按 Enter 键继续...");
Console.ReadLine();
return;
}

DirectoryEntry objDirEnt=new DirectoryEntry(args[0]);
Console.WriteLine("名称 = " + objDirEnt.Name);
Console.WriteLine("路径 = " + objDirEnt.Path);
Console.WriteLine("架构类别名称 = " + objDirEnt.SchemaClassName);
Console.WriteLine("");
Console.WriteLine("属性::");

foreach(String Key in objDirEnt.Properties.PropertyNames) {
Console.Write("\t{0} = ", Key);
Console.WriteLine("");
foreach(Object objValue in objDirEnt.Properties[Key]) {
Console.WriteLine("\t\t{0}", objValue);
}
}
}
}

回复
火电 2003-03-28
up

]强烈关注
回复
sinsou 2003-03-28
up
回复
zwztu 2003-03-27
强烈关注
回复
sinsou 2003-03-27
没人来,只有自己up了
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2003-03-27 03:36
社区公告
暂无公告