配置了AC脚本方式单点登录,但是出现认证失败的情况,可参考以下排错方法!
1、检查加入域的PC的启动项里面是否有logon脚本:
如果启动项里面没有脚本,则通过cmd里面输入gpresult -r 输出域账号获取到的域组策略,然后去域服务器上看脚本是否在这些组策略里面(下图检查域账号是否获取到组策略),并坚持域服务器与PC的连通性
2、如果启动项里面有脚本,则看脚本下发的参数如何,在pc上面执行 rsop.msc ,看用户配置里面windows配置,脚本配置,可以看到脚本下发的时间,脚本的参数,脚本的执行时间;
3、脚本下发了,但是不成功,可以执行%appdata%进入.logon文件里面,查看login日志,下拉到最后查看脚本执行的日志(下面是一些常见的报错日志),并对比脚本参数里面的ACIP,端口,共享密码是否准确;
=ERR: prepare data failed, ERR_Line:
没有获取到AC的IP或者本机PC的IP
=ERR: Login Failed! ACIP: %s, port: %d, key: %s, bResponse:%d=
登录失败
=ERR: Encrypt message failed, ret:
对发送的数据加密失败(登录或注销或心跳)
=ERR: Send heart beat to AC \"%s\" failed: %d=
发送心跳包失败
=ERR: >>Login Failed! port: %d, key: %s=
发送登录包失败
=ERR: >>Logoff failed: %d=
发送注销包失败
=ERR: SockInit() failed:
初始化套接字失败,应该是系统问题,可以尝试重新登录一次域
=ERR: Timeout=
超时时间内没有收到回包,可能发送的AC的IP不存在,win7下可能是防火墙被开启
=ERR: CreateDirectoryW failed:
创建日志目录失败
=ERR: CryptQueryObject failed:
获取数字签名失败,这种情况下logon.exe开启了数字签名检测
=ERR: CertFindCertificateInStore failed:
获取签名证书失败,这种情况下logon.exe开启了数字签名检测
=ERR: CreateThread for IP detection failed:
IP变化检测线程创建失败
=ERR: to OpenProcess %d terminate: %d=
系统错误,尝试重新登录
=ERR: to terminate process:
杀死指定进程失败
=ERR: OpenProcessToken failed:
获取用户信息时打开令牌句柄失败
=ERR: GetTokenInformation failed: 或者=ERR: LookupAccountSid failed: 或者=ERR: GetTokenInformation failed: 或者=ERR: GetUserName failed:
logon.exe根据令牌获取用户信息失败,尝试重新登录
PS:注:
6.1的脚本用的是1773端口,11.x的设备用的是1775端口,切假如设备升级到11.x,用6.1的脚本也是支持的端口还是1773端口;
多域多AC的情况下建议用sinforIP配置,logon。exe参数配置成-a
脚本参数还有多种格式,请参考AC配置共享密码那里下载脚本里面的说明文档
|