起因1:在单位搭建了文件服务器,并且针对各个部门建立了目录加了权限。只是单位有些人很懒,连登录名和密码都懒得记,经常要打电话来问,确实很烦的……
起因2:单位处于快速发展阶段,部门人员经常变动,每次变动都要对文件服务器密码修改一次,还是很麻烦……& q/ Z) V/ z, i) N$ M3 ~' l
0 B! `5 g7 l# F: U
解决办法
思路:建立域环境 使每位员工用自己的工号登录域后自动映射文件服务器为本地磁盘: F: c1 T$ r4 F( E" z
1:建立域环境8 [0 F# u% u$ Z& }
2:将单位所有电脑和那台该死的文件服务器加入域0 ], ?+ a1 h6 d, O+ ]* p" f
3:建立以每个员工工号为名的域账号( o0 C% r$ A' Q, V& Q
4:保存以下内容为*.vbs

--------------------------这里是蛋疼的分割线------------------------$ B- z5 i$ p0 d) f; N7 T

 
  
  1. Set objNetwork = WScript.CreateObject("WScript.Network"
  2. Set colDrives = objNetwork.EnumNetworkDrives 
  3. Set objNetwork = WScript.CreateObject("WScript.Network"
  4. strUserName = objNetwork.UserName&"$" 
  5. For i = 0 to colDrives.Count-1 Step 2 
  6. objNetwork.RemoveNetworkDrive colDrives.Item(i), truetrue 
  7. Next 
  8. Set objNetwork = Nothing 
  9. dim netdrive 
  10. set netdrive = CreateObject("wscript.network"
  11. netdrive.MapNetworkDrive "x:","\\160.219.1.8\public_data" //文件服务器的地址以及共享目录 
  12. netdrive.MapNetworkDrive "y:","\\160.219.1.8\fileserver$" 
  13. netdrive.MapNetworkDrive "z:","\\160.219.1.8\"&strUserName 
  14. set netdrive=nothing 
  15.  
  16. dim netrename 
  17. set netrename = CreateObject("Shell.Application"
  18. netrename.NameSpace("x:\").Self.Name = "公共目录" //设置映射后显示的名称 
  19. netrename.NameSpace("y:\").Self.Name = "文件服务器" 
  20. netrename.NameSpace("z:\").Self.Name = "个人文件夹" 
  21. set netrename=nothing 

--------------------------这里是蛋疼的分割线------------------------$ B- z5 i$ p0 d) f; N7 T
5:打开组策略编辑器-->用户配置-->windows设置-->脚本(登录/注销)-->添加刚才保存的vbs脚本为登录脚本,) I0 H$ Q# k( s/ q# [3 u; ?
     然后再添加一条注销的脚本自建一个*.bat 内容为:net use * /delete /y
6:刷新下组策略, E6 w) t+ C* R* g
7:大功告成测试一下吧。。。
解释一下映射的共享目录 x:公共目录(没有权限限制所有人可以读写) y:部门目录(对应部门员工有读写权限,其他人只能读或者禁止访问) z:员工个人目录(以员工个人工号为名的目录,只有这名员工自己读写,别人看不到)2 S( o6 x  q% J& p
ps:本人ad 和文件服务器都是win2003 sp2 r2 客户机全是xpsp2 试用了7个月偶尔出现登录后映射不上文件服务器的问题,注销后重新登录就ok了。4 l$ z8 X, n: Q" X5 V