学习如何写Windows脚本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有时在进行系统管理时,需要使用脚本来进行管理可能会更方便与有效,所以我们需要学习一些脚本的基本知识。

您是否遇到过为完成某项特定任务而不得不一遍又一遍反复输入相同命令集合的情况呢?您是否曾经仅仅为完成某些琐碎事务而在相同向导程序 中以同样顺序反复点击同一套按钮,并且不得不针对多台计算机或多个用户帐号重复上述操作呢?
脚本将帮助您消除此类重复性工作。脚本是一种由您自己创建、 用以描述完成特定任务所需步骤的文件。一旦创建了相应脚本,您便可以对其加以“ 运行”,该脚本将代替您执行所有步骤,从而为您节省大量时间与精力。您只需创建一次脚本,之后,便可根据需要在执行特定任务时随时对其进行重用。
此外,脚本还可以通过定时方式在指定日期的特定时间--甚至无人职守的午夜时分--内执行事先设定的任务。同时,脚本可以被设计为能够在多种不同计算机上执行相同任务。您是否需要从所有域控制器的事件日志中获取事件信息呢?没问题,您只需安排在午夜时分运行一个脚本,这样一来,当您第二天清晨进入办
公室时,便可以直接获取所需数据了。

1、写脚本文件

打开任何文本编辑软件(如记事本),保存为扩展名为 .vbs的文件

2、输入脚本内容,如运行脚本时弹出信息的例子:

可以输入:msgbox "Hello ,world!"

3、要查看脚本结果,可双击进行打开即可。

4、如果需要重新编辑脚本文件,可点选后,右键选择编辑,然后修改内容即可。



例:

用脚本在AD中创建用户帐号:

Set objOU = GetObject("LDAP://OU=management,dc=contoso,dc=com")

Set objUser = objOU.Create("User", "cn=MyerKen")
objUser.Put "sAMAccountName", "myerken"
objUser.SetInfo
 

//说明:

第一行:OU=填你的OU名称,DC=contoso(contoso是你的域名),DC=COM

第一行:cn=MyerKen ,MyerKen是你要创建的用户名。

但此用户默认是禁用的,没用启用。如要启用需如下做:

Set objUser = GetObject _ ("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com")

objUser.AccountDisabled = FALSE //此行代码就是设置用户的状态为启用。
objUser.SetInfo


在用户创建成功后,可以将用户加入到相应的组中:

Set objDomain = GetObject("LDAP://dc=contoso,dc=com")
Set objOU = objDomain.Create("organizationalUnit", "ou=Management") //创建一个OU
objOU.SetInfo

Set objOU = GetObject("LDAP://OU=Management,dc=contoso,dc=com")
Set objUser = objOU.Create("User", "cn= AckermanPilar") //创建一个用户“

AckermanPilar”
objUser.Put "sAMAccountName", "AckermanPila"
objUser.SetInfo

Set objOU = GetObject("LDAP://OU=Management,dc=contoso,dc=com")
Set objGroup = objOU.Create("Group", "cn=atl-users") //创建一个组“atl-users”
objGroup.Put "sAMAccountName", "atl-users"
objGroup.SetInfo

objGroup.Add objUser.ADSPath //将用户加入到组中。
从AD中删除一个用户:

Set objOU = GetObject("LDAP://ou=hr,dc=contoso,dc=com")

objOU.Delete "user", "cn=MyerKen"


当然,如果一个用户暂时不用,最好将他禁用,如果在以后再需用他还可对他进行启用,只要在确定不要后,再进行删除。

禁用一个用户:

Const ADS_UF_ACCOUNTDISABLE = 2

Set objUser = GetObject ("LDAP://cn=myerken,ou=hr,dc=contoso,dc=com")
intUAC = objUser.Get("userAccountControl")

objUser.Put "userAccountControl", intUAC OR ADS_UF_ACCOUNTDISABLE
objUser.SetInfo


启用一个用户帐号:

Set objUser = GetObject ("LDAP://cn=myerken,ou=hr,dc=contoso,dc=com")

objUser.AccountDisabled = FALSE
objUser.SetInfo


当然,如果你不知道用户的当前状态是什么?如启用还是禁用,可用下面的脚本来查询:

Set objUser = GetObject ("LDAP://cn=myerken,ou=hr,dc=contoso,dc=com")

If objUser.AccountDisabled = FALSE Then
WScript.Echo "The account is enabled."
Else
WScript.Echo "The account is disabled."
End If


修改用户密码(在知道原密码的情况下完成)

Set objUser = GetObject _
("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com")

objUser.ChangePassword "i5A2sj*!", "jl3R86df"



重设用户密码(由管理员进行,可在用户密码遗失所情况下操作)

Set objUser = GetObject _
("LDAP://cn=MyerKen,ou=management,dc=fabrikam,dc=com")

objUser.SetPassword "i5A2sj*!"




相关文档
最新文档