热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用VBS脚本自动创建计算机帐户的代码

mcse注:其实这是 按照adsi(active directory services interface:活动目录服务接口)写的程序。如果你安装了resource kit,这段代

mcse注:其实这是 按照adsi(active directory services interface:活动目录服务接口)写的程序。如果你安装了resource kit,这段代码可以用netcom这条命令进行工作,下面是netcom的一个例子: 

  netdom /domain:mydomain /user:adminuser /password:apassword member mycomputer /add 

代码如下:
  ***********************

  '* start script

  '***********************

  dim scomputername, suserorgroup, spath, computercontainer, rootdse, lflag

  dim secdescriptor, dacl, ace, ocomputer, spwd

  '

  '* declare constants used in defining the default location for the

  '* machine account, flags to identify the object as a machine account,

  '* and security flags

  'const uf_workstation_trust_account = &h1000

  const uf_accountdisable = &h2

  const uf_passwd_notreqd = &h20

  const ads_guid_computrs_container = "aa312825768811d1aded00c04fd8d5cd"

  const ads_acetype_access_allowed = 0

  const ads_aceflag_inherit_ace = 2

  '

  '* set the flags on this object to identify it as a machine account

  '* and determine the name. the name is used statically here, but may

  '* be determined by a command line parameter or by using an inputbox

  'lflag = uf_workstation_trust_account or uf_accountdisable or uf_passwd_notreqd

  scomputername = "testaccount"

  '

  '* establish a path to the container in the active directory where

  '* the machine account will be created. in this example, this will

  '* automatically locate a domain controller for the domain, read the

  '* domain name, and bind to the default "computers" container

  '*********************************************************************

  set rootdse = getobject("ldap://rootdse")

  spath = "ldap://  set computercontainer = getobject(spath)

  spath = "ldap://" & computercontainer.get("distinguishedname")

  set computercontainer = getobject(spath)

  ''* here, the computer account is created. certain attributes must

  '* have a value before calling .setinfo to commit (write) the object

  '* to the active directory

  'set ocomputer = computercontainer.create("computer", "cn=" & scomputername)

  ocomputer.put "samaccountname", scomputername + "$"

  ocomputer.put "useraccountcontrol", lflag

  ocomputer.setinfo

  '

  '* establish a default password for the machine account

  'spwd = scomputername & "$"

  spwd = lcase(spwd)

  ocomputer.setpassword spwd

  ''* specify which user or group may activate/join this computer to the

  '* domain. in this example, "mydomain" is the domain name and

  '* "joesmith" is the account being given the permission. note that

  '* this is the downlevel naming convention used in this example.

  'suserorgroup = "mydomain\joesmith"

  ''* bind to the discretionary acl on the newly created computer account

  '* and create an access control entry (ace) that gives the specified

  '* user or group full control on the machine account

  'set secdescriptor = ocomputer.get("ntsecuritydescriptor")

  set dacl = secdescriptor.discretionaryacl

  set ace = createobject("accesscontrolentry")

  '

  '* an accessmask of "-1" grants full control

  '

  ace.accessmask = -1

  ace.acetype = ads_acetype_access_allowed

  ace.aceflags = ads_aceflag_inherit_ace

  ''* grant this control to the user or group specified earlier.

  'ace.trustee = suserorgroup

  '

  '* now, add this ace to the dacl on the machine account

  'dacl.addace ace

  secdescriptor.discretionaryacl = dacl

  '

  '* commit (write) the security changes to the machine account

  'ocomputer.put "ntsecuritydescriptor", array(secdescriptor)

  ocomputer.setinfo

  ''* once all parameters and permissions have been set, enable the

  '* account.

  '

  ocomputer.accountdisabled = false

  ocomputer.setinfo

  ''* create an access control entry (ace) that gives the specified user

  '* or group full control on the machine account

  'wscript.echo "the command completed successfully."

  '*****************

  '* end script



推荐阅读
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在HTML布局中,即使将 `top: 0%` 和 `left: 0%` 设置为元素的定位属性,浏览器中仍然会出现空白填充。这个问题通常与默认的浏览器样式、盒模型或父元素的定位方式有关。为了消除这些空白,可以考虑重置浏览器的默认样式,确保父元素的定位方式正确,并检查是否有其他CSS规则影响了元素的位置。 ... [详细]
author-avatar
天极玩家_136
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有