通过脚本实现自动创建用户目录并映射网络驱动器
需要配合上一篇文章:给域控用户分配指定共享并定义共享目录大小
实现目的:通过脚本自动创建指定大小的用户目录并映射,同时映射其他网络驱动器。
因为在映射网络驱动器时,可能会遇到相同盘符等问题,所以用命令先删除所有映射的网络盘符,等待1秒后,重新映射指定的盘符。如果有相同的物理盘符,会跳过错误继续执行映射。
所有命令均有注释,经过测试比较完美。
脚本下载地址:http://disk.epcboy.com/viewfile.php?file_id=67
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | Set objNet = CreateObject("Wscript.Network") Set objNetdrv = objnet.EnumNetworkDrives '第一步删除所有映射网络驱动器 For i = 0 to objNetdrv.Count - 1 Step 2 objnet.RemoveNetworkDrive objNetdrv.Item(i),True,True Next '等待1秒 WScript.Sleep 1000 Private Function NetworkDrivesName(NetworkPath, DrivesName, NewNetworkName) Set objNetwork = CreateObject("Wscript.Network") Set objShell = CreateObject("Shell.Application") Set colDrives = objNetwork.EnumNetworkDrives '第二步映射网络驱动器 objNetwork.MapNetworkDrive DrivesName, NetworkPath '重新命名 objShell.NameSpace(DrivesName).Self.Name = NewNetworkName End Function NetworkDrivesName "\\Server\01","G:","共享目录1" on error resume next '遇到错误继续执行脚本 NetworkDrivesName "\\Server\02","H:","共享目录2" on error resume next '遇到错误继续执行脚本 NetworkDrivesName "\\Server\03","I:","共享目录3" on error resume next '遇到错误继续执行脚本 NetworkDrivesName "\\Server\04","J:","共享目录4" on error resume next '遇到错误继续执行脚本 '第三步自动创建域用户目录并映射 Set oNet = CreateObject("Wscript.Network") sUser = oNet.UserName ServerPath = "\\Server\Users\" '服务器共享路径 strRemotePath1 = "\\Server\Users\"&sUser '映射为U盘的网络路径 strDriveLetter1 = "U:" '指定映射盘符,如果需要建立多个映射,可以按照这种格式书写 set fso=createobject("scripting.filesystemobject") Set objNetwork = CreateObject("Wscript.Network") Set oShell= CreateObject("Shell.Application") if(fso.DriveExists("U:"))then '先判断U这个盘符是存在 objNetwork.RemoveNetworkDrive"U:",true '如果存在就先删除掉U这个映射网盘 end if set fso=createobject("scripting.filesystemobject") If not fso.FolderExists(ServerPath & sUser ) Then '判断文件夹是否存在,如果不存在就建立 set f=fso.createfolder(ServerPath & sUser ) WScript.Sleep 1000 '因为建立文件夹可能需要点时间,这是等待的时间 objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1 '建立网络磁盘映射 oShell.NameSpace("U:\").Self.Name="&sUser" '映射盘的名称 else objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1 oShell.NameSpace("U:\").Self.Name="USERS" End If |
您可能感兴趣的文章:
很好,学习下了
很久没来了 抱歉啊,,新的一年我们都得奋斗喽,,,一起加油哦!
新年快乐
马上就2012年了,祝新年快乐