通过脚本实现自动创建用户目录并映射网络驱动器

需要配合上一篇文章:给域控用户分配指定共享并定义共享目录大小

实现目的:通过脚本自动创建指定大小的用户目录并映射,同时映射其他网络驱动器。

因为在映射网络驱动器时,可能会遇到相同盘符等问题,所以用命令先删除所有映射的网络盘符,等待1秒后,重新映射指定的盘符。如果有相同的物理盘符,会跳过错误继续执行映射。

所有命令均有注释,经过测试比较完美。

脚本下载地址:http://disk.epcboy.com/viewfile.php?file_id=67

 

?Download code.txt
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

您可能感兴趣的文章:
  1. 给域控用户分配指定共享并定义共享目录大小
  2. SQL Server 2000安装时出现错误的解决方法
  3. ADSL错误代码

  1. 蘑菇街
    2012年2月10日15:35

    很好,学习下了

  2. 2012年1月31日15:49

    很久没来了 抱歉啊,,新的一年我们都得奋斗喽,,,一起加油哦!

  3. 2012年1月25日20:25

    新年快乐

  4. 沐***店
    2012年1月22日10:41

    马上就2012年了,祝新年快乐