Script经典文章
日期:2004年3月21日 作者:清风网络学院
查看:[大字体 中字体
小字体 ]
开篇:读取环境变量 让我们以一个在许多环境中都非常实用的示例脚本作为开篇。当您使用登录脚本或批处理文件时,读取环境变量是一项非常普遍的操作。您可以通过诸如%COMPUTERNAME%和%WINDIR%之类的脚本来映射网络驱动器,连接打印机或执行其它希望在登录/注销脚本中完成的相关操作。有关如何通过编程方式从脚本中访问这些变量的示例之一是使用Wscript.Shell对象。 如果希望在本地运行一个应用程序、对注册表内容进行操作、创建一个快捷方式或访问某个系统文件夹,您可以随时创建一个Wscript.Shell(WshShell)对象。WshShell对象能够提供一个环境集合,这个集合允许您对各种环境变量(如WINDIR、PATH或PROMPT)进行处理。 例如(说明:如需对这个脚本进行测试,请根据您所处域环境中的服务器配置情况对脚本中的DC名称进行修改): ' –Start Dim wshShell ' Create a new Windows Scripting Host Shell object Set wshShell = CreateObject("Wscript.Shell") ' Set it to read the environment variables Set EnvVar = wshShell.Environment("PROCESS") ' Re-direct LPT1: to the appropriate printer according to the authenticating DC name If EnvVar.Item("LogonServer") = "DC1" then wshShell.Run "net use lpt1: \\DC1\Printer1" Else wshShell.Run "net use lpt1: \\DC2\Printer2" End If ' -End 这个脚本将使用net use命令根据LogonServer变量取值将LPT1:端口连接到适当的打印机上。当负责执行身份验证的DC为\\DC1时,LPT1:将被映射到printer1上,对于其它DC,LPT1:将被映射到printer2上。只需将包含EnvVar.Item的一行信息替换为您所希望的变量,您便可以通过这个脚本获取任意一种环境变量(如Computername、TEMP、WinDir等)。举例来说:如欲读取TEMP目录位置,您只需使用EnvVar.Item("TEMP")。 注册表操作 注册表操作是一项常见的工作,系统经常需要在注册表中保存相关信息并根据需要对其进行读取。从注册表中删除与写入信息的操作可以通过Wscript.Shell对象所提供的RegWrite和RegDelete方法在.vbs文件中完成。读取注册表数据的操作则可通过RegRead方法实现。 在访问注册表时,您还可以使用WMI。乍看起来,使用WMI似乎不如使用Wscript.Shell对象那样直观,然而,这种方式能够提供更加强大的功能特性与控制能力(例如对各种注册表键及其取值进行列举的能力)。 TechNet脚本中心为您提供了许多用以演示如何通过WSH和WMI对注册表数据进行访问与操作的实用脚本示例。如需获取这些示例,请查看 http://www.microsoft.com/technet/scriptcenter/registry/default.asp。 利用WMI读取操作系统信息 在前面列出的示例代码中,我们看到了如何从环境变量中读取信息,然而,您所需操作并使用的许多信息位于其它存储机制或接口中。您可以通过WMI来获取您所能想到的各种系统信息,这些信息包括磁盘与分区情况、事件查看器数据、服务项目、共享资源以及与操作系统环境和应用程序相关的其它任意内容。
上一篇:破解Windows XP 登陆口令
下一篇:Windows Server 2003 使用指南
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页 ] [关闭窗口 ] 转载请注明来源:http://www.abcdown.net