本文主要是介绍创建Win2003的登录脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
创建Win2003的登录脚本
--------------------------------------------------------------------------------
可以使用登录脚本指派用户登录特定计算机时将执行的任务。该脚本可以执行操作系统命令、设置系统环境变量以及调用其他脚本或可执行程序。
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/"
wshNetwork.AddWindowsPrinterConnection "//PrintServer/FinLaser"
wshNetWork.SetDefaultPrinter "//PrintServer/FinLaser"
ElseIf InStr(strGroups, HUMAN_RESOURCES_GROUP) Then
wshNetwork.MapNetworkDrive "g:", "//FileServer/Human Resources/"
wshNetwork.AddWindowsPrinterConnection "//PrintServer/HrLaser"
wshNetWork.SetDefaultPrinter "//PrintServer/HrLaser"
End If
在“文件”菜单中,单击“另存为”。
在“保存在”中,单击对应于域控制器的 Netlogon 共享文件夹的目录(通常为 SystemRoot/SYSVOL/Sysvol/DomainName/Scripts,其中,DomainName 是该域的完全合格的域名)。
在“保存类型”中,单击“所有文件”。
在“文件名”中,键入文件名(后随 .vbs),然后单击“保存”。WSH 使用 .vbs 扩展名标识含有 VBScript 命令的文件。
注意
要使用上述示例登录脚本,您需要更改组名称、网络驱动器号和通用命名约定 (UNC) 路径以便与您的系统环境匹配。
要运行登录脚本,需要将脚本指派给用户或组。详细信息,请参阅为用户或组指派登录脚本。
第二种:
Set objNetwork = CreateObject("Wscript.Network")
Set colDrives = objNetwork.EnumNetworkDrives
For i = 0 to colDrives.Count-1 Step 2
If colDrives.Item(i + 1) = "//server1/share" Then
strDriveLetter = colDrives.Item(i)
objNetwork.RemoveNetworkDrive strDriveLetter
objNetwork.MapNetworkDrive strDriveLetter, "//server2/share"
End If
Next
这篇关于创建Win2003的登录脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!