东莞精诚网络技术交流论坛

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 5072|回复: 0

windows域按用户身份不同使用不同的共享文件夹!

[复制链接]
发表于 2011-5-18 12:01:41 | 显示全部楼层 |阅读模式
首先需要去下载一个插件 “WINDOWS SERVER 2003 ACCESS-BASED ENUMERATION”
下载地址:http://www.microsoft.com/Downloads/details.aspx?FamilyID=04a563d9-78d9-4342-a485-b030ac442084&displaylang=en
根据操作系统下载。。我所用的是32位的。。下载了中间的那个490KB的

此次试验目的:在AD环境下利用插件“WINDOWS SERVER 2003 ACCESS-BASED ENUMERATION”与映射网络磁盘来实现使用不同的身份权限使用不同的共享文件夹(注意:本文中的身份权限是根据AD账号来区分的)。
1.下载好插件后。。安装一下
这个插件是利用NTFS分区的特性,把用户没有权限使用的文件夹都收起来,用户是没有方法看到自己没有权限使用的文件夹的。
2.安装完插件后。。新建一个文件夹(test),并将其共享。共享权限,安全根据实际需要进行设置

3.共享后,可以看到文件夹有个选项卡。。并将下面的
Enable access-based enumeration on this shared folder 打上勾

4.下面我们建立2个用户(wang // zhang),用于测试。

5.接着在共享文件夹里建立文件夹。。并设置好权限。。我设置的权限如下





其中:wang、zhang是私人文件夹,自己才能访问使用。public是公共文件夹,任何人都可以使用
最后实现:用wang登陆,看不到zhang的文件夹,只看得到wang和public这2文件夹,用zhang登陆,看不到wang的文件夹,只看得到zhang和public这2文件夹
6.接下来就是部署VBS登录脚本了,给AD用户映射网络磁盘,这个脚本是会判断是否存在相同的网络磁盘,不会重复生成网络磁盘的。
代码如下:
On error resume next
strRemotePath = \\192.168.1.1\test
strNewName = "for test"
Set objNetwork = CreateObject("Wscript.Network")
Set colDrives = objNetwork.EnumNetworkDrives

For i = 0 to colDrives.Count-1 Step 2

Set objShell = CreateObject("Shell.Application")
strDriveLetter = colDrives.Item(i)
strName = objShell.NameSpace(strDriveLetter).Self.Name
strName = Left(strName,Len(strName)-5)
If strName = strNewName Then WScript.Quit

strDriveLetter = Chr(Asc(Left(colDrives.Item(i),1))-1) & ":"

Next
If strDriveLetter= "" Then strDriveLetter="Z:"
' Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath
' Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName
脚本用法:新建一个文本文档,复制代码,粘贴一下,其中strRemotePath = \\192.168.1.1\test 是服务器IP地址和共享文件夹名,strNewName = "for test" ,是映射磁盘后的名字,根据实际情况更改,然后保存为.vbs格式就OK了,我这里保存为test.vbs

然后用组策略设置用户登陆脚本,具体步骤如下
首先打开ADUC,找到用户所在组织单位,右击---属性

打开属性后,选择组策略选项卡-------新建


新建之后,在点编辑,就可以打开组策略编辑器了

然后在找到如图所示的登陆脚本,打开属性,单击【显示文件】

然后会弹出这个路径。。在把脚本文件复制到Logon文件夹内

接下来,我们在回到登陆属性,点击添加按钮,添加刚才复制到\\admin.com\SysVol\admin.com\Policies\{6CC847A2-8373-43AE-A784-45DA302BED92}\User\Scripts\Logon下的脚步文件test.vbs

点击【浏览】



接下来我们只要在服务器端刷新一下策略就OK了(如果不行,在客户端也刷新一下),
命令:gpupdate /force


下面我们测试一下,首先用wang登陆 (我是在XP下登陆的,XP已经加入域了)

看到有个叫for test的网络盘了吧。。打开看看

只看得到自己的私人文件夹和public文件夹



接下来用zhang登陆测试









我们只要把文件的权限设置好,就简单地映射出一个共享文件,就能使全公司的用户根据不同的需要使用不同的文件夹。

声明:上述代码不是我写的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|精诚网络 ( 粤ICP备13030199号 )

GMT+8, 2022-1-24 22:22 , Processed in 0.136180 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表