| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何获取以 G-S-Group 作为名称开头的所有组的列表?
如何获取以 G-S-Group 作为名称开头的所有组的列表?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 11:07:06
问:

您好,脚本专家!如何使用通配符获取以 G-S-Group 作为名称开头的所有组的列表?

-- JD

答:

您好,JD。明天就是感恩节了,一个脚本专家一完成他的“您好,脚本专家!”专栏就到乡下去了。巧合的是:他恰巧谈到过一个同搜索 Active Directory 有关的问题,这是他在睡觉时都能编写的那类专栏(或许真是在睡觉时编写的)。

Active Directory 搜索专栏之所以如此易于编写的原因就在于我们耍了花招:我们通常不解释这类搜索后面的细节内容。Active Directory 搜索真的很简单;毕竟大多数代码都是样板化的,在用作脚本时不必进行更改。不过,存在大量样板化的代码,它们都需要进行解释,这超出了本小专栏所讨论的范围。因此,如果人们需要有关编写脚本以搜索 Active Directory 的详细信息,我们通常会让他们查阅 Tales from the Script 系列文章(由两部组成)中的 Dude, Where’s My Printer?(英文)。

注意:您想知道当一名脚本专家该有多难吗?那就让我们看看吧。这名脚本专家编写了一个只是让人们查阅先前编写的材料的专栏。然后,他让他的妈妈负责所有的烹饪工作,以此来庆祝感恩节。这样的生活确实很苦。

不过,我们不会总是如此懒惰;至少我们会将代码提供给您并解释查询的工作方式。下面的脚本将返回其名称以 G-S-Group 开头的所有组:

On Error Resume Next



Const ADS_SCOPE_SUBTREE = 2



Set objConnection = CreateObject("ADODB.Connection")

Set objCommand =   CreateObject("ADODB.Command")

objConnection.Provider = "ADsDSOObject"

objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection



objCommand.Properties("Page Size") = 1000

objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 



objCommand.CommandText = _

    "SELECT Name FROM 'LDAP://DC=fabrikam,DC=com' WHERE objectCategory='group' " & _

        "AND Name='G-S-Group*'"



Set objRecordSet = objCommand.Execute



objRecordSet.MoveFirst

Do Until objRecordSet.EOF

    Wscript.Echo objRecordSet.Fields("Name").Value

    objRecordSet.MoveNext

Loop

我们感兴趣的部分是 SQL 查询,该查询只返回符合条件(以 G-S-Group 作为名称开头)的组:

"SELECT Name FROM 'LDAP://DC=fabrikam,DC=com' WHERE objectCategory='group' " & _

        "AND Name='G-S-Group*'"

正如您所看到的,我们需要在 Where 子句中指定两项内容:1) objectCategory 必须等于 group(这样,我们可确保只返回组而不是用户、OU、打印机或 Active Directory 中的其他内容);2) Name 属性必须以字母 G-S-Group 开头。为了指定后者,我们将 Name 的搜索值设为所需的字符串 G-S-Group 后跟一个星号 (*),星号代表任意字符。在此我们要说的非常明了:“显示所有以 G-S-Group 作为名称开头的组;我不关心其后面的内容(如果有的话)是什么”。

这样的表达再简洁明了不过了。

如果我们要搜索其名称以 G-S-Group 结尾的组,我们应在该字符串的前面放置一个星号:

Name='*G-S-Group'

这表示,“显示所有名称以 G-S-Group 结尾的组;我不关心其前面的内容(如果有的话)是什么”。或者,我们可搜索名称中的某个位置(任意位置)有字符串 G-S-Group 的组。为此,我们在该字符串的前后均放置一个星号:

Name='*G-S-Group*'

使用脚本搜索 Active Directory 是十分有趣而且有用的。

至于我们,要出去庆祝感恩节了。星期一再见。

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客
    如何在一个文件被添加到
    如何将“珊瑚虫”好友请

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览