登录脚本并未在所有站点上执行

登录脚本并未在所有站点上执行

我的服务器基于 Debian,运行 Samba 作为主域控制器。我已验证共享netlogon( drwxrwsr-x) 和login.bat( -rwxrwxr-x) 文件的权限,以允许所有用户读取和执行权限。在某些系统上,脚本根本无法运行;没有驱动器映射,没有程序更新检查等。但是,我可以手动导航到\\server\netlogon\login.bat,运行文件,然后所有驱动器映射都会出现!

我希望能看到一种模式,但这种情况似乎只发生在几台电脑上,然后又发生在不同的电脑上,而且从来都不是恒定的。所有电脑都是 Windows 7 Pro,登录的用户都是普通用户,没有管理员(除了我自己)登录它们进行日常使用。在组策略编辑器中,计算机配置\管理模板\系统\登录\计算机启动和登录时始终等待网络参数设置为已启用

我想不出这些计算机附近最近可能发生过什么变化,而且它们始终可以访问互联网,并且可以手动连接到服务器。我还能寻找什么?以下是 的结果testparm -s

[global]
        workgroup = DOMAIN
        netbios name = SERVER
        server string = server
        interfaces = eth1
        bind interfaces only = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *new*password* %n\n *new*password* %n\n *updated*
        unix password sync = Yes
        log level = 1
        name resolve order = host wins lmhosts bcast
        printcap name = /dev/null
        disable spoolss = Yes
        logon script = login.bat
        logon path = \\server\netlogon
        preferred master = yes
        logon drive = h:
        domain logons = Yes
        os level = 255
        domain master = Yes
        wins support = Yes
        path = /var/spool/lpd/samba
        admin users = machine
        write list = @domainadmins
        printing = lprng
        print command = lpr -r -P'%p' %s
        lpq command = lpq -P'%p'
        lprm command = lprm -P'%p' %j
        lppause command = lpc hold '%p' %j
        lpresume command = lpc release '%p' %j
        queuepause command = lpc stop '%p'
        queueresume command = lpc start '%p'

[netlogon]
        path = /usr/local/share/netlogon

更新- 我不得不重新启动服务器上的 Samba 守护程序。一些运行良好的计算机现在出现问题,而出现问题的计算机似乎没有问题。这有助于缩小问题范围吗?

答案1

一些想法……对于此类问题,我希望收集尽可能多的信息,包括 PC 的启动顺序。我首先会打开启动日志,然后关闭 Windows 7 启动过程中的所有“花哨”功能:

%SystemRoot%\System32\bcdedit.exe /set quietboot off
%SystemRoot%\System32\bcdedit.exe /set bootlog on
%SystemRoot%\System32\bcdedit.exe /set sos on

(启动日志写入 %WINDIR%\ntbtlog.txt)

然后我会用进程监控监控启动和登录过程(菜单中的“启用启动日志记录”)。从这里,您将看到与 SMB 服务器的交互。进程监视器生成很多数据量很大,因此巧妙的过滤是关键。但是,面对如此模糊的问题,您可能需要从一开始就不进行任何过滤。

出于兴趣,您是否绝对确定您的登录脚本没有运行,即:您是否尝试过让它将日期/时间回显到某个文件,或者类似简单的事情?只是一个想法。

另外,我很感激您不会运行组策略,因为您没有 AD,但某个注册表值可以控制登录脚本是异步运行还是同步运行。如果网络堆栈未完全启动,前者可能会导致登录脚本失败。当客户端有可用的登录脚本的缓存副本时,我见过这种情况发生...

无论如何,这就是我的开始。

相关内容