| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何更改用户的主要组?
如何更改用户的主要组?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 11:00:08
问:

您好,脚本专家!如何更改用户的主要组?

-- AS

答:

您好,AS。您知道,有一位脚本专家知道如何制作有很多什锦冰淇淋的核仁巧克力饼,这种饼上布满了融化的果汁软糖、核桃、黑巧克力块和各种美味。也许有人会问,为了促进健康的生活方式,这位脚本专家是否应该制作这种颓废的甜点。让我告诉您吧!脚本专家是行动者,而非思想者:我们要继续制作核仁巧克力饼,让别人去争论我们是否应该这么做。

稍等一下:我们要再切一块巧克力饼。这次只要一小块……

更改用户的主要组也同样如此:我们知道如何去做,但不知道您是否应该去做。根据我们对 Active Directory 的一点了解,只有在处理 Macintosh 客户端或与 POSIX 兼容的应用程序时才会使用主要组,其他情况都可以忽略它。(默认情况下,每个用户的主要组都是 Domain Users。)也就是说,大多数人都可以把本日的专栏归于不必担心的事情,至少今天不用一类。你们大多数人不需更改用户的主要组就可以度过漫长而幸福的一生。(的确,难以置信,但千真万确。)

假设您确实需要更改用户的主要组。这种情况下,下面这个脚本将为您打理一切:

Set objUser = GetObject _

    ("LDAP://cn=Ken Myer,ou=Finance,dc=fabrikam,dc=com")

 

Set objGroup = GetObject _

    ("LDAP://cn=Finance Managers,ou=Finance,dc=fabrikam,dc=com")



objGroup.GetInfoEx Array("primaryGroupToken"), 0



objUser.primaryGroupID = objGroup.primaryGroupToken

objUser.SetInfo

此脚本先绑定到要修改的用户帐户;在此示例脚本中,我们绑定到 fabrikam.com 的 Finance OU 中的 Ken Myer 帐户。然后创建第二个对象引用,此引用指向将成为用户的新主要组 (Finance Managers) 的组。请注意,此脚本假定该用户已经是 Finance Managers 组的成员。如果并非如此,在将 Finance Managers 重新指定为主要组之前,需要将该用户添加到此组。

接下来,我们使用 GetInfoEx 方法,明确检索 Finance Managers 的 primaryGroupToken 属性值。PrimaryGroupToken 是检索某些组的成员名单时使用的计算属性。因为是计算属性(也就是说,该值是动态生成而非按原样保存),我们使用 GetInfoEx 强制执行此计算并返回该值。GetInfoEx 代码如下所示:

objGroup.GetInfoEx Array("primaryGroupToken"), 0

既然谈到这个主题,我们应该指出 GetInfoEx 的一些特点。首先,虽然 GetInfoEx 作为数组存储,但它总是检索数据;因此需要指定一个包含一个项目的数组 (primaryGroupToken)。在调用结尾处附加的 0 没有意义,但却是必需项:如果将其省略或改为其他值,脚本将失败。

坦白讲,我们不清楚原因何在;它就是这样运行的。

剩下的都很容易。将 primaryGroupID 的值设为刚获得的 primaryGroupTaken 值,然后调用 SetInfo 方法将更改写入 Active Directory 中的用户帐户:

objUser.primaryGroupID = objGroup.primaryGroupToken

objUser.SetInfo

这样就大功告成了。正如我们说过的,默认情况下,所有用户的主要组都被指定为 Domain Users。如果要将 Ken Myer 改回此默认值,只需运行此脚本,将主要组改为 Domain Users:

Set objUser = GetObject _

    ("LDAP://cn=Ken Myer,ou=Finance,dc=fabrikam,dc=com")

 

Set objGroup = GetObject _

    ("LDAP://cn=Domain Users,cn=Users,dc=fabrikam,dc=com")



objGroup.GetInfoEx Array("primaryGroupToken"), 0



objUser.primaryGroupID = objGroup.primaryGroupToken

objUser.SetInfo

这就是您需要做的。而我们会再享用一块核仁巧克力饼。这次只要一小块……

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

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

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