热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

域控下发脚本_域用户登陆脚本

如何为一个域用户设置登陆脚本?-BAT可否作为登陆脚本?-在域用户“属性”中,应如何指定登陆脚本名?D:\x.bat还是

如何为一个域用户设置登陆脚本?

- 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)\scripts下,如果你放在别的位置,需要在脚本执行栏的位置输入绝对路径,格式同样需要以\\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、“配置文件路经”和“登陆脚本路径”、“主文件夹”

朋友们在初次设置域账户脚本的时候,可能对于这三个概念有些模糊,难以区分,这里说明一下:

①使用组策略,在用户登录脚本的的地方编辑一个cmd等,使用诸如net use的方式就可以map一个网络盘符了。

②“配制文件路径”是指用户profile所处的位置,通常在%userprofile%

“登录脚本路径”是指用户登录到服务器时,执行的脚本所处的位置,通常默认路径位于

服务器上的netlogon下,如果制定策略中使用脚本,默认的路径应该在gpo 的guid下的user或者computer下的scripts,如果置于其他位置,需要手动指定完全路径。

③“主文件夹”是指用户在fileserver上的个人主目录,这个概念没有绝对的位置。需要你手动指定路径,不过在这里写入和在脚本中写入的不同,在于系统会根据你写入的路径,自动创建文件夹,并为该用户分配权限,该文件夹的owner属于该用户。这里可以使用%username%的变量,让系统自行完成。当然在指定了 主目录后,你仍然可以访问其他有权限使用的资源。

e、关于策略的执行顺序是本机、站点、域、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。

f、执行的脚本,可以放在computer configuration和user configuration中执行。

对于user,通常可以放置更改用户属性的东西。

对于computer,通常可以放置更改计算机属性的东西。

这两个没有绝对界限,但通常登陆的时候,都属于domain users成员,这样如果需要更改注册表或系统文件之类的,可能会遇到权限问题,那么我们也可以把这样的脚本放在computer中,这样可以在user登陆之前获得执行。

(这里顺带说一句:大家很少用到计算机账户吧,那么计算机账户的作用在这里可以得到体现,由于此时还没有用户账户验证,计算机账户和dc的验证有一方面来源于本地计算机账户和dc之间保持一个密码同步,以便于在这种特殊的情况下获得验证,该密码默认30天变更一次。

你甚至可以在sharefolder上添加计算机账户的权限:)如果由于dns对应或者其他的一些原因,导致这个密码无法同步,dc将会无法验证该计算机账户,这可能会导致计算机登陆脚本无法执行。在dc的日志上一般都会给出一个错误提示,ComputerNetbiosName$无法存取。解决的办法,可以通过在客户端上执行netdom重置该信任关系,这是另话了。)

对于user的设定,只需要登出然后登入即可获得脚本的应用。

对于computer的设定,则需要重新启动机器来获得脚本的执行。

注:从上面的几点中,大家可以看到计算机在登陆的时候需要通过dns来定位dc,从而定位

定位gpo,sysvol(策略、脚本、管理模板都存放在这里),dns对于ad的设置是至关重要

的,一般来说可以这样设置,将客户端的dns指向dc(如果dc上是双网卡的话,那么指向内部

网卡dns),然后在dc上设置转发,forward到外部(isp)dns。

上面只是就一些常见的问题做简要介绍,如果遇到更为复杂的问题,就需要查阅其他资料来解决了。

关于大家平时遇到的问题,都整理成faq放在下面

FAQ:

我的配置过程如下:

1、制作脚本文件config.bat并拷贝至域控制器服务器下的sysvol\sysvol\scripts目录下

该脚本文件用 net use z: \\linux_file\share 命令

2、配置“配制文件路径”:路径指向:\\nwf_sav(域控制服务器名)\netlogon

配置“登录脚本路径”: config.bat

3、在客户机注销重新登陆时出现以下窗口:但未能将共享文件夹映射为Z盘。

回答:一般脚本的存放位置有两种观点:

1、将登陆脚本放在\\server\netlogon下(在dc上的物理路径是 %systemroot%\SYSVOL\sysvol\domainname\SCRIPTS ,而不是 sysvol\sysvol\scripts)

在设置账户属性中登陆指令档的时候,此时是登陆域的时候默认寻找登陆脚本的位置

如果需要修改该脚本,需要手动定位到上面的路径,

优点是脚本集中放置

2、将登陆脚本放在策略gpo所处的路径下(在dc上的物理路径类似于这样

\\domainname\SysVol\domainname\Policies\{142B4268-9574-471F-9F7F-9AA04836F57F}\User\Scripts\Logon,这里一长串的数字是gpo的guid,用来唯一的标识这个对象,

可以通过查询该策略的属性,来察看该guid)

在设置策略中登入指令档的时候,此时是登陆域的时候默认寻找登陆脚本的位置

如果需要修改该脚本,可以点击下方的“显示档案”

优点是和策略关联性强,编辑查找方便

无论用哪种方法,如果脚本放置在默认的查询路径,指定登陆档的时候就不用写路径

如果不是,就需要填写完整路径,当然这个路径需要对于client可用,也就是说

不能填写诸如 c:\winnt\sysvol\sysvol 这样的路径,否则client在登陆的时候,只会

在自己的机器上 c:\winnt\sysvol\sysvol 查找脚本,显然是找不到的,因为脚本

是下载到本地执行的。

那么我们先看看脚本是否能够在client上正确执行,

在client上 winkey+r,然后填入脚本的路径,比如 \\servername\netlogon\config.bat

执行一下,是否能够等到正确的结果?

然后察看上面的位置中指定的路径是否正确

如果是通过策略指定的登陆脚本,我们再用 gpresult /v ,察看一下client是否应用到了

您制定的策略,如果没有就要考虑使用 dssite.msc 手动同步域中的所有dc,然后

secedit /refreshpolicy user_policy (machine_policy)/enforce 强制刷新策略,

然后client重新登陆或者重新启动一下(这取决于您制订的是用户登陆脚本还是计算机登陆脚本)

如果还是不行,那么在早先的那篇文章有提到,

有可能是由于本地已经map 了同样盘符的盘,导致冲突

有可能是由于map的共享路径权限设置错误,常见的是共享权限的设置问题

有可能是由于map的共享是跨平台的存储设备或者格式,它们可能不能在登陆时在系统要求的

时间内响应,这导致系统认为该资源超时连接,不可用。您可以尝试更换netbios名称或者ip

看看是否有所改善。



推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
author-avatar
1hhhhhhhhhhh0_196_217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有