请问如何用ADSI编程实现目录的权限管理

解决方案 »

  1.   

    Windows下的权限管理指对共享目录进行维护
    可以通过LanManServer服务的FileService对象访问共享文件夹,获得FileService对象指针后就可以通过FileShare对象来创建文件共享或使用已经存在的文件夹共享
    1.查看某计算机上的所有共享文件夹
    查看3623工作组(域)上lysra机器上的所有共享文件夹
    Set fs=GetObject("WinNT://3623/lysra/LanManServer,FileService")
    for each sh in fs
    WScript.Echo sh.name
    next
    不显示默认共享(除PRINT$外),默认共享(管理员共享)是由操作系统自动创建的共享文件夹,在命令行下输入NET SHARE将看到所有包括默认的 标准的共享2.检查共享文件夹极其属性
    //假设3623工作组工lysra机器上有个 d:\a的共享文件夹
    Set fs=GetObject("WinNT://3623/lysra/LanManServer/a,fileshare")
    WScript.Echo fs.name
    WScript.Echo "当前连接用户数:" & fs.CurrentUserCount
    WScript.Echo "描述:" & fs.Description
    WScript.Echo "宿主:" & fs.HostComputer
    WScript.Echo "最大连接用户:" & fs.MaxUserCount  //返回-1表示没有设置最大值
    WScript.Echo "文件路径:" & fs.Path3.创建个删除共享文件夹
    Set cont=GetObject("WinNT://3623/lysra/LanManServer,FileService")
    Set fs=cont.Create("FileShare","Share")
    fs.Path="d:\a"
    fs.MaxUserCount=-1
    fs.SetInfo
    删除:Set cont=GetObject("WinNT://3623/lysra/LanManServer,FileService")
          cont.delete "FileShare","Share"
      

  2.   

    将用户加入指定组
    Private Sub Command2_Click()
    Dim dso As IADsOpenDSObjectDim group As IADsGroup
    Dim groupname As String
    Dim groupdomain As String
    Dim user As IADsUser
    Dim username As String
    Dim userdomain As Stringgroupname = List2.Text
    username = Combo1.TextSet user = GetObject("WinNT://yang/" & username & ",user")
    Set group = GetObject("WinNT://yang/" & groupname & ",group")group.Add (user.ADsPath)
    group.SetInfo
    List1.AddItem List2.TextEnd SubPrivate Sub Form_Load()
    Dim dso As IADsOpenDSObject
    Dim container As IADsContainer
    Set container = GetObject("WinNT://yang")container.Filter = Array("Group")
    For Each group In container
    List2.AddItem group.Name
    NextEnd Sub