ADSI-活动目录的问题大家帮帮忙!

我现在想在asp中获得系统中的用户以及其所在的用户组,请大家给我相应的代码,不胜感激!是否能够获得用户的权限,如果可以,也请附上相应的代码!最好可以加上注释,因为我对adsi很陌生,刚刚接受一个新项目,或者发到我的信箱,baggio785@21cn.com
[128 byte] By [baggio785-狗狗] at [2007-12-16]
# 1
The following Visual Basic code snippet shows how the property methods of IADsContainer can be used.
Dim cont As IADsContainer
Dim usr As IADsUser

Set cont = GetObject("LDAP://OU=Sales, DC=Fabrikam, DC=COM")
cont.Hints = Array("adminDescription") ' Load only this attribute (optional)
Debug.Print cont.Get("adminDescription")
'We want only users.
cont.Filter = Array("user")
For Each usr In cont
Debug.Print usr.Name
Next
duibudui at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...
# 2
下面是我写的使用delphi访问活动目录,取得用户所在的组,使用vb更简单,只需去用户的memberof属性即可,返回值是数组!
procedure TForm1.Button1Click(Sender: TObject);
var
usr:IADsUser;
str1,str2,str3:widestring;
ole1 :oleVariant;
strArray : Tstrings;
i,pos1,pos2 :integer;

begin
try
usr := GetObject('LDAP://NMCMMT.IBMSYS.nmc.ln.cmcc/CN=hello,CN=Users,DC=IBMSYS,DC=nmc,DC=ln,DC=cmcc') as IADsUser;
strArray := TstringList.Create ;

str1 :=usr.FullName ;
str2 := 'memberOf' ;

ole1 :=usr.Get(str2);
pos1 := VarArrayLowBound(ole1,1);
pos2 := VarArrayHighBound(ole1,1);

for i:=pos1 to pos2 do
begin
showmessage(ole1[i])
end;
Except
showmessage('error')
end;
showmessage(str1);
end;
function TForm1.GetObject(const Name:string):Idispatch;
var
Moniker:IMoniker;
Eaten:integer;
BindContext:IBindCtx;
Dispatch:IDispatch;
begin
OleCheck(CreateBindCtx(0,BindContext));
OleCheck(MkParseDisplayName(BindContext,PWideChar(WideString(Name)),Eaten,Moniker));
OleCheck(Moniker.BindToObject(BindContext,Nil,Idispatch,Dispatch));
Result:=Dispatch;
end;
lnliliang-可怜的人 at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...
# 3
谢谢大家,第二个问题还没有解决"是否能够获得用户的权限,如果可以,也请附上相应的代码!",请大家给出答案
baggio785-狗狗 at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...
# 4
在windows中,用户对于不同的资源,拥有不同的权限.所以,我们通常所说的权限---在windows中,叫ACL(Access Control Lists),严格说是和资源存放在一起的,构成了资源对象,而不是和用户对象存放在一起的.
所以,要取得用户对于windows系统的所有资源的权限几乎是不可能的.通常,你需要什么权限,就去读取该特定权限.(windows也是这样控制用户权限的:在用户访问某一个资源时,检查该用户对于资源的ace,决定是否允许访问)

所以不知道你是要获得用户对于什么资源的权限?
如果是要获取用户对于文件系统中某一个文件的权限,需要的话可以找给你!
当然,用vc或者其他编程方法实现应该也并不难,MSDN中有这方面的例子.

# 5
我想获得全部文件夹或者某个文件夹的对于某个用户的权限,比如说,一个download文件夹,我想知道a用户对这个文件夹拥有什么权限?
baggio785-狗狗 at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...
# 6
我也想知道 "a用户对这个文件夹拥有什么权限",我现在只能一个个枚举判断,
呼唤高手。。
duibudui at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...
# 7
Exchange文件夹还是文件系统的文件夹?
两者在技术上差别很大的!
# 8
最好两个都有,麻烦大家了
baggio785-狗狗 at 2007-10-26 > top of Msdn China Tech,企业开发,Exchange Server...