在win2003域组策略中实现映射网络驱动器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在域组策略中实现映射网络驱动器
一、把下面代码复制到记事本中,并保存文件名为“logon.vbs”
Set WshNetwork = WScript.CreateObject("work")
set wshshell=WScript.CreateObject("WScript.shell")
WScript.sleep 3000
WshNetwork.MapNetworkDrive "z:","\\X.X.X.X\XXXX"
二、在AD用户和计算机中的域名上右击,选择属性。
三、在弹出的窗口中选择组策略选项卡——点击编辑按钮——在跳出的默认域策略窗口中选择用户配置——Windows设置——脚本(登陆/注销)——登陆属性——点击显示文件按钮,把logon.vbs复制到弹出的文件夹中——点击添加按钮——点击浏览按钮把刚才复制的logon.vbs脚本文件添加进去——点击确定按钮。
添加共享打印机
Set WshNetwork = WScript.CreateObject("work") Wshnetwork.addWindowsPrinterConnection "\\pc-hp1020"
Wshnetwork.SetDefaultpritner "\\pc-hp1020"
自动映射网络驱动器:
Set WshNetwork = WScript.CreateObject("work") WshNetwrok.RemoveNetworkDrive "z"
WshNetwork.MapNetworkDrive "z:","\\X.X.X.X\XXXX"
@echo off
color f2
mode con cols=71 lines=10
echo **********************************************************************
echo ********将添加网络驱动器到本地倒数第一个可用盘符(一般为
Z:)***********
echo **********************************************************************
echo
@echo off
net use * \\Server\share P@ssw0rd /user:Domain\sharer /PERSISTENT:no
net use x: \\servername\sharename /y
删除用:
net use x: /d
net usr z: \\192.168.2.1\mcse passwoed /user:username
可以通过下面的方法来实现:
1、首先在域中建立一个文件服务器,然后在该文件服务器上创建一个共享文件夹,然后为每个域账号设置不同的NTFS权限和共享权限,比如账号A只有查看的权限,账号B拥有写的权限;
2、在客户端client1上使用域账号A登录,右键点击我的电脑,选择映射网络驱动器,指定驱动器的名称,然后点击浏览,查找文件服务器和共享文件夹,请选中登录时重新连接。
3、点击完成。
4、在客户端client2上使用域账号B登录,按照上述的方法建立到文件夹服务器的共享文件夹的映射驱动器;
5、这样就可以实现账号A和账号B登录后就可以看到网络驱动器,并且拥有不同的权限。
如何为一个域用户设置登陆脚本?
- BAT可否作为登陆脚本?
- 在域用户“属性”中,应如何指定登陆脚本名?"D:\x.bat"还是"\\srv\x.bat"?还是其它?
- 脚本应该放在何处?
1、bat可以作为登陆脚本执行,确切说一切可以在windows平台执行的东西都可以作为登陆脚本来用。
2、应该指定以\\server\……这样格式开头的路径。因为client在登陆的时候执行脚本,其实是从服务器上下载到本地,然后执行。这样的话,如果指定c:\这样的路径,client只会在本地的c盘查找,而不是到server上的路径去查找。
3、脚本可以放在一切client能够读取的位置。通常这个位置处于\\server\netlogon 的share下(在服务器上的位置
是%systemroot%\sysvol\sysvol\domainname\scripts),但是如果你制订了策略,那么脚本默认的存放路径应该
在%systemroot%\sysvol\sysvol\domainname\policies\guid\user(machine)\scri pts下,如果你放在别的位置,需要在脚本执行栏的位置输入绝对路径,格式同样需要以\\server\……开头。
4、其他的问题也很多了,一般来说就是脚本适用于策略的时候,客户端可能会执行不到。
一般来说可能会有一下的几个原因:
a、脚本从名称到内容都尽可能的不要用特殊字符、长文件名(超过8个字符)、空格,比如&等。这样的脚本在不同的os上可能执行会有问题。
b、脚本存放的位置和路径,请遵照上面的原则来做。
c、脚本的编写方面。特别是适用net use 来map一个fileserver上的路径。有可能在登陆之前,client上已经有网络盘的映射,如果恰好和你map的盘符一样,将有可能导致脚本执行失败,你可以在脚本的最前面加一句net use * /d /y来解
决这个问题。
不过这个命令要慎用,在实际生产环境中,如果你的fileserver是非wintel平台的storage,响应时间较长,那么可能导致用户重新登陆时,无法连接fileserver 上的sharefolder,可以用一句if exist来判断网络盘是否存在。
另外一个方面,如果远程设备是一些跨平台的存储设备,比如一些nas、san等,map到windows平台的时候可能会提示“网络路径无法连接”等问题,可以相互更换map \\server_netbios_name或者map \\server_ipaddress两种方式来尝试连接。
如果遇到权限问题,那么按照共享权限和安全权限冲突时取最小值的原则,一般来讲可以将共享权限设置为full control,然后安全权限做严格设定的办法来解决。
d、关于策略的执行顺序是本机、站点、域、ou、子ou。如果有设置上的重复,按照执行的顺序,后面的设置将会覆盖前面的设置。
如果在ou上设置“block policy inheritance”,那么上层的策略将不会在这一层获得执行。
如果在ou上设置“No override”,那么这一层将不会被后面的策略设置覆盖,也就是说即使后面有相同的设置,仍然以这一层的设置为准。
如果在ou上设置“disabled”,那么这个策略将会被禁止执行。
如果在策略的properties security上取消了对应的组的read和apply group policy,那么对应的组将会无法应用到策略。通常默认被应用的组有authenticated user。
如果你取消了该组的两个权限,然后add其他组,同样赋予read和apply group policy的话,此策略将只会被该组执行到,这也就是所谓的filter。
如果你的域中有多台dc,可能需要在dssite.msc中手动同步它们。
你也可以在服务器上使用secedit /refreshpolicy user_policy(machine_policy)/enforce 来强制刷新策略
这样的办法同样适用于client。
e、执行的脚本,可以放在computer configuration和user configuration中执行。对于user,通常可以放置更改用户属性的东西。
对于computer,通常可以放置更改计算机属性的东西。
这两个没有绝对界限,但通常登陆的时候,都属于domain users成员,这样如果需要更改注册表或系统文件之类的,可能会遇到权限问题,那么我们也可以把这样的脚本放在computer中,这样可以在user登陆之前获得执行。
(这里顺带说一句:大家很少用到计算机账户吧,那么计算机账户的作用在这里可以得到体现,由于此时还没有用户账户验证,计算机账户和dc的验证有一方面来源于本地计算机账户和dc之间保持一个密码同步,以便于在这种特殊的情况下获得验证,该密码默认30天变更一次。
你甚至可以在sharefolder上添加计算机账户的权限:)如果由于dns对应或者其他的一些原因,导致这个密码无法同步,dc将会无法验证该计算机账户,这可能会导致计算机登陆脚本无法执行。在dc的日志上一般都会给出一个错误提示,ComputerNetbiosName$无法存取。解决的办法,可以通过在客户端上执行