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,可能需要在dssitemsc中手动同步它们。
你也可以在服务器上使用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、制作脚本文件configbat并拷贝至域控制器服务器下的sysvol\sysvol\scripts目录下
该脚本文件用 net use z: \\linux_file\share 命令
2、配置“配制文件路径”:路径指向:\\nwf_sav(域控制服务器名)\netlogon
配置“登录脚本路径”: configbat
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\configbat
执行一下,是否能够等到正确的结果?
然后察看上面的位置中指定的路径是否正确
如果是通过策略指定的登陆脚本,我们再用 gpresult /v ,察看一下client是否应用到了
您制定的策略,如果没有就要考虑使用 dssitemsc 手动同步域中的所有dc,然后
secedit /refreshpolicy user_policy (machine_policy)/enforce 强制刷新策略,
然后client重新登陆或者重新启动一下(这取决于您制订的是用户登陆脚本还是计算机登陆脚本)
如果还是不行,那么在早先的那篇文章有提到,
有可能是由于本地已经map 了同样盘符的盘,导致冲突
有可能是由于map的共享路径权限设置错误,常见的是共享权限的设置问题
有可能是由于map的共享是跨平台的存储设备或者格式,它们可能不能在登陆时在系统要求的
时间内响应,这导致系统认为该资源超时连接,不可用。您可以尝试更换netbios名称或者ip搬迁域控制器服务器是一项很复杂的任务,需要谨慎 *** 作以确保迁移过程中不会出现任何问题。以下是大致的步骤:
建立新的域控制器服务器 - 在新的服务器上安装 Windows Server *** 作系统,并配置 Active Directory 域服务角色。
将新服务器添加到域 - 确保新服务器已被添加到域中,并具有域管理员权限。
将域控制器角色转移到新服务器 - 使用“Active Directory域服务配置向导”将域控制器角色从旧服务器转移到新服务器。
同步域控制器 - 一旦新服务器成为主要域控制器,需要确保域中的所有服务器都已同步到新服务器上。
验证域控制器 - 确保新服务器能够正确地验证域中的所有计算机和用户。
更新 DNS 记录 - 确保所有 DNS 记录都已更新为指向新服务器。
更新 DHCP 服务器 - 如果你的网络中有 DHCP 服务器,则需要更新它,以确保客户端计算机能够正确地与新服务器通信。
关闭旧服务器 - 一旦确保所有任务都已正确完成,可以在网络中删除旧服务器以及与之相关的所有 DNS 记录和 DHCP 服务器设置。
请注意,这仅是一个大致的概述,搬迁域控制器服务器是一项复杂的任务,因此在执行任何 *** 作之前,最好先仔细阅读 Microsoft 的文档,并在迁移前备份所有数据域内各个服务器的时间保持一致,是一个很重要而又往往又容易被人忽略的问题,如果时间不同步或出现异常,往往会出现以下问题:
1 服务器上应用程序Server端无法获取准确的日期,导致反馈给客户端的日期时间不准确
2 系统日志上时间不正确,无法通过时间点查找错误信息
3 用户无法连接网络,导致无法正常工作
4 Failover Cluster无法正常启动或切换
以下内容,我们会介绍如下获取修改系统时间,如何设置成与时间服务器同步,并介绍各个常用的与时间有关的命令。
一. 常见命令
1 修改当前计算机时间
使用time命令,同时会要求您重设时间
如果不需要设置时间,则直接回车即可
这个命令仅限于粗糙的时间调整。
2 获取当前计算机的日期及时间信息
在Windows HyperV中,用户无法看到图形界面的日期与时间信息,但可以通过以下命令进行查看:
a) 在命令行中输入timedatecpl, 系统自动d出日期,时间设置窗口,可以在此位置进行设置
b) 在命令行中输入net time \\IP地址或计算机名称,此命令还可以查看其他计算机的当前时间,例如: net time \\3242107129, 如果是域内计算机,想查看当前域的整体时间 net time /domain:shinseifin
3 显示时区
a) Timedatecpl
b) W32tm /tz 显示本地计算机时区设置
4 很多时间我们想知道, 当前域内的计算机是从哪个服务器同步的时间,可以用如下命令:
W32tm /monitor /computers:计算机名称
或者w32tm /monitor /domain:域名
结果如下
这样如果发现域内时间异常,直接更改此对应PDC的计算机时间即可。 5 更改完时间后,我们希望让一台计算机立即进行同步
W32tm /resync /computer:计算机名称
6 设置本地时间
上面提到直接使用time命令即可
7 设置一台与另外计算机时间同步
使用net time 命令。格式如下 参数说明:
◆ 无参数,显示被指派为本地计算机的Windows服务器域时间服务器的当前时间。
◆ \\computername,指定要检查或与之同步的服务器的名称。
◆ /domain[:domainname],指定要同步时间的域。
◆ /rtsdomain[:domainname],指定要与之同步的可信时间服务器所在的域。
◆ /set,使计算机的时钟与指定的计算机或域的时间同步。
◆ /querysntp,显示当前为本地计算机或 \\computername 所指定的计算机配置网络时间协议(NTP)服务器的名称。
◆ /setsntp[:ntp server list],指定本地计算机所使用的NTP时间服务器的列表。该列表可以包含IP地址或DNS名称,用空格分开。如果要使用多个时间服务器,该列表必须用引号引起来。
例如: net time \\3242107142 /querysntp 查询使用哪一个sntp服务器
Net time \\3242107143 /setsntp:timewindowsgov 指定计算机143与windows sntp服务器同步
Net time /set \\3242107142 设置当前计算机与与142时间同步
通常用来设置服务器的时间与某一服务器同步。
二.如何设置PDC的服务器时间?
1 将服务器设置为内部硬件时钟
打开Service注册表,HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\Parameters中ReliableTimeSource与 LocalNTP(二进制)均设置为1,重启服务,net stop w32tim & net strart w32time
2 将PDC的时间与公网服务器时间同步。
a) net time /setsntp:1924324418
b) 进入域控注册表修改Parameters
(1)将服务器类型改为 NTP,即修改“TYPE”值为NTP。
(2) 将该服务器配置为可靠的时间源,即修改“ReliableTimeSource”为1。
(3) 修改“LocalNTP”值为1。
(4) 指定时间源,即修改“NtpServer”为时间源地址。
(5)
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\W32Time\TimeProviders\ NtpClient]分支,并双击 SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,输入框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟或3600=1小时等周期值),填入对话框,点击确定保存关闭对话框。
(6) 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter 键:net stop w32time && net start w32time
三.同步域内时间的步骤小结:
确定域内的PDC, net time /domain:domain名称 2 查询PDC使用的时间源 net time \\PDC的IP地址 /QuerySntp 3 修改PDC使用的时间源 net time \\PDC的IP地址 /SetSntp:事件源地址 4 立即手动同步域内其他服务器的时间,使其与PDC保持一致。 net time /set或w32tm /resync /computer:PDC(IP),建议使用后一个命令,前一个命令可能会出问题,问题描述见后面。
主域控进行了还原,也就意味着主域控坏掉了。主域控是不能反过来同备份域控进行同步的,因为在系统配置之初就确认了不同的角色功能。只有在机器都工作正常的时候,同步的是AD中的配置信息。此时应采取的措施是实施强制角色夺取。也就是将备份域控先做成主域控,替代主域控进行工作。
备份域控的主要作用就是主域控宕机或者有故障后,夺取主域控角色承担起域控的作用(上面备份有AD配置信息,这是它主要的备份作用)。在域控正常工作后,在坏掉的机器上安装服务器 *** 作系统安装成新的备份域控。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)