Windows2003下创建登录脚本(1) 可以使用登录脚本指派用户登录特定计算机时将执行的任务。该脚本可以执行操作系统命令、设置系统环境变量以及调用其他脚本或可执行程序。Windows Server 2003 家族支持两种脚本运行环境:命令处理器负责运行含有批处理语言命令的文件,而 Windows 脚本宿主 (WSH) 负责运行含有 Microsoft Visual Basic Scripting Edition (VBScript) 或 Jscript 命令的文件。可以使用文本编辑器创建登录脚本。一些通常由登录脚本执行的任务包括: 映射网络驱动器。 安装和设置用户的默认打印机。 收集计算机系统信息。 更新病毒特征文件。 更新软件。 下例中的登录脚本含有使用了“Active Directory 服务接口 (ADSI)”的 VBScript 命令,它可按照用户的组成员身份执行三个常见任务: 将驱动器 H: 映射为用户的本地目录,方法是调用 WSH Network 对象的 MapNetworkDrive 方法和 WSH Network 对象的 UserName 属性。 使用 ADSI IADsADSystemInfo 对象获取当前用户的标识名称,该名称随后可用于连接 Active Directory 中对应的用户对象。一旦建立了连接,就使用用户的 memberOf 属性检索用户所属的组的列表。使用 VBScript 的 Join 函数将多值的组名称列表连接成单个字符串,以便更容易地搜索目标组名称。 如果当前用户是在脚本开始处列出的三个组中的任何一个的成员,脚本会将该用户的驱动器 G: 映射为该组的共享驱动器,并将该用户的默认打印机设为该组的打印机。 创建登录脚本示例 打开 记事本。 复制并粘贴,或键入以下内容: Const ENGINEERING_GROUP = "cn=engineering" Const FINANCE_GROUP = "cn=finance" Const HUMAN_RESOURCES_GROUP = "cn=human resources" Set wshNetwork = CreateObject("WScript.Network") wshNetwork.MapNetworkDrive "h:", "\\FileServer\Users\" & wshNetwork.UserName Set ADSysInfo = CreateObject("ADSystemInfo") Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName) strGroups = LCase(Join(CurrentUser.MemberOf)) If InStr(strGroups, ENGINEERING_GROUP) Then wshNetwork.MapNetworkDrive "g:", "\\FileServer\Engineering\" wshNetwork.AddWindowsPrinterConnection "\\PrintServer\EngLaser" wshNetwork.AddWindowsPrinterConnection "\\PrintServer\Plotter" wshNetWork.SetDefaultPrinter "\\PrintServer\EngLaser" ElseIf InStr(strGroups, FINANCE_GROUP) Then wshNetwork.MapNetworkDrive "g:", "\\FileServer\Finance\"