在一个实施环境中,部署了Password Manager用来实现单点登录功能,但是由于Password Manager的提示基本都是以英文为主,而且配置也比较麻烦,普通用户看见会比较影响用户体验,所以用户决定暂时关闭Password Manager功能,为了省事,减少以后的恢复工作量,于是停止了所有XenApp服务器中的Password Manager Agent服务。
停止了以后,也没有在意,在完成了其他的配置以后,再去登录WI,访问应用程序的时候发现,应用程序从点击到完全启动非常慢,而不是停留在一般的加载配置文件,运行登录脚本过程。于是对登录过程进行了跟踪。
根据微软的文档,开启了日志设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 注册表项:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 值:UserEnvDebugLevel 数值类型:REG_DWORD 数值数据:10002(十六进制) UserEnvDebugLevel 可以是以下值: NONE 0x00000000 NORMAL 0x00000001 VERBOSE 0x00000002 LOGFILE 0x00010000 DEBUGGER 0x00020000 默认值是 NORMAL|LOGFILE (0x00010001)。 注意:要禁用日志,请选择 NONE(值为 0X00000000)。 |
设置 UserEnvDebugLevel = 0x00030002,则会在 Userenv.log 文件中记录最为详细的信息。
所以,我选择了详细的日志记录,然后从新测试登录,在日志文件中,我发现了下面的可疑信息:
1 2 3 4 5 | USERENV(128c.bf4) 10:13:28:238 LibMain: Process Name: C:\WINDOWS\system32\userinit.exe USERENV(1730.17d4) 10:13:28:410 LibMain: Process Name: c:\program files\citrix\metaframe password manager\wts\ssolauncher.exe USERENV(1154.e18) 10:13:38:988 LibMain: Process Name: C:\WINDOWS\system32\ctfmon.exe |
可疑发现,在userinit.exe加载以后,会去加载ssolauncher.exe文件,从名称可以看出,该文件是PM的相关文件,然后我们发现,10秒钟以后,才开始加载用户会话启动时候的系统进程输入法。
虽然禁止了PM Agent,但是还会有PM的组件加载,所以,要停止Password Manager,还是需要通过PM服务器端配置策略或者不弹出SSO的提示框,不显示ICON来简单隐藏,从而实现应用程序的启动加速。
重新恢复PM Agent服务,设置PM服务端以后,应用程序的启动速度恢复到了正常水平。