起因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
- Set objNetwork = WScript.CreateObject("WScript.Network")
- Set colDrives = objNetwork.EnumNetworkDrives
- Set objNetwork = WScript.CreateObject("WScript.Network")
- strUserName = objNetwork.UserName&"$"
- For i = 0 to colDrives.Count-1 Step 2
- objNetwork.RemoveNetworkDrive colDrives.Item(i), true, true
- Next
- Set objNetwork = Nothing
- dim netdrive
- set netdrive = CreateObject("wscript.network")
- netdrive.MapNetworkDrive "x:","\\160.219.1.8\public_data" //文件服务器的地址以及共享目录
- netdrive.MapNetworkDrive "y:","\\160.219.1.8\fileserver$"
- netdrive.MapNetworkDrive "z:","\\160.219.1.8\"&strUserName
- set netdrive=nothing
- dim netrename
- set netrename = CreateObject("Shell.Application")
- netrename.NameSpace("x:\").Self.Name = "公共目录" //设置映射后显示的名称
- netrename.NameSpace("y:\").Self.Name = "文件服务器"
- netrename.NameSpace("z:\").Self.Name = "个人文件夹"
- 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
转载于:https://blog.51cto.com/xcbbc/575729