RSS
热门关键字:  ICA  小说  龙珠  金融行业  citrix
当前位置 :| 主页>远程接入>citrix>

错误Userenv Event ID 1000 解决方法

来源:应用在线 作者: 时间:2008-04-08 Tag: 点击:

症状

错误: “Windows did not load your roaming profile and is attempting to log you on with your local profile. Changes to the profile will not be copied to the server when you logoff. Windows did not load your profile because a server copy of the profile folder already exists that does not have the correct security. Either the current user or the Administrator's group must be the owner of the folder. Contact your network administrator. (Windows 装载你的漫游配置文件, 现在正在尝试装载你的本地配置文件. 对配置文件的更改在你注销的时候不会更新到服务器上. Windows 没有装载你的配置文件是因为服务器上已经存在配置文件目录但是没有正确的权限设置. 当前用户或者管理员组必须是目录的所有者. 请联系你的网络管理员.)”

Event ID: 1000 in Userenv:

"Windows cannot log you on because the profile cannot be loaded. Contact your network administrator. (Windows 不能让你登录因为配置文件不能装载. 请联系你的网络管理员. )
DETAIL - Access is denied.(拒绝访问.)"

该问题的起因主要是Microsoft 软件或者第三方软件 (例如像打印机驱动, 病毒监控等)的编码漏洞. 通常很难找出是什么软件导致配置文件装载失败.

 

原因以及解决方法

这部分包含可能的原因和解决方案, 都是针对“Event ID: 1000 in Userenv” 错误信息的.

注意! 以下操作设计修改注册表. 使用注册表编辑器不当会导致严重错误甚至要重新安装系统. Citrix 不能保证能够解决由于操作不当导致的系统问题. 请在操作前做好注册表备份.

• Windows Server 2003, Windows XP Service Pack 1, 和 Windows 2000 Service Pack 4 会查询是否有正确的权限, 否则不会允许漫游登录. 权限可能没被正确设置或因为共享是非Windows共享导致权限不能被验证.
 

禁用权限检测. 设置一个组策略对象 (GPO) Do not check for user Ownership of Roaming Profile Folders.(不检查用户的漫游配置文件目录的所有权.)
 
-或者-
 
设置以下注册表项:
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
"CompatibleRUPSecurity"=dword:00000001
 
或者如下设置:
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon]
"CompatibleRUPSecurity"=dword:00000001
 
要获取更多信息, 请参考Microsoft 文章 327462.

•如果客户端所设置的优先域名系统(DNS)服务器的地址无效或者不可到达.
 
Microsoft 文章 261007 详细描述了该问题并列出更正该问题的正确步骤.

• 一个文件名为JETXXXX.tmp (在这里 XXXX 是一个随即数字) 的文件在默认用户配置目录中被创建. 该文件被锁定并阻止新用户创建本地配置文件. 当ImaSrv.exe 进程停止的时候该文件被删除, 当ImaSrv.exe 进程启动的时候该文件会被重新创建.
 
处理这个问题的方法:

1. 请确保在系统和用户环境中设置了变量 TMP 和 TEMP  (可以从 System/Advanced/Environment Variables 查看到).
 
Microsoft 文章 187629  指出JETx.tmp 是系统使用的许可文件.

2. 请确保存在目录 C:\winnt\tmp. 否则, 重新安装之后Imasrv.exe 不可能正常工作.

3. 检查系统环境变量 TMP=TEMP=C:\winnt\temp at this server. (鼠标右键点击 my computer(我的电脑)/Properties(属性)/Advanced(高级)/Environment variables(环境变量).)
 
由 filemon 的跟踪 (Microsoft Sysinternals 的系统工具)你可以看到Imasrv.exe 的失败操作, 可以连接到不存在的 C:\winnt\tmp.
 
例如:
 
ImaSrv.exe:1980 N:\Localprofiles\Documents and Settings\Default User\JET8CFC.tmp
FAILURE

• Usrclass.dat 文件被锁定. 服务器需要重新启动以释放配置文件. Microsoft 漏洞补丁MS03-026 的应用. (Q823980)
“Buffer Overrun in RPC Interface May Allow Code Execution.(RPC接口缓存溢出可能会允许代码执行.)”
 
请参考 Windows cannot unload your registry class file.(Windows无法卸载你的注册表类文件.)

•当使用Adobe Acrobat 4 或者 5 (完全版或者阅读器) 打印到某个于 PCL 的打印机驱动的时候, 包括UPD, 打印任务有可能会在用户临时目录下留下一个锁定目录. 虽然在该目录下有可能存在文件但是打印任务不会失败. 当FARM使用匿名登录的时候影响最大, 因为匿名登录的配置文件在用户注销的时候不会删除. 因此, 当下个用户登录的时候, 就有可能会继承这个”坏配置文件”, 它仅仅包含一个空的目录, 从而不能登录.
 
使用 Adobe 6 或者 7.
 
作为测试, 关闭打印. 如果该问题消除, 就有可能跟某个有缺陷的打印驱动有关.

1. 测试一个正常的用户.

2. 利用系统策略删除本地缓存配置文件(跟匿名用户一样). 如果如期工作, 再测试一下RDP.

3. 尝试设置Wfshell.exe 的logoffchecksysmodules 参数, 请参考CTX891671 - Graceful Logoff from a Published Application May Render the Session in Active State.

• Microsoft 已经发现setupapi.dll 存在一个问题.
 
请参考Microsoft 文章 883521 837115.

工具

UPHClean
Userenv logging
如何打开零售版本Windows的用户环境调试日志功能

 • 打开Userenv.dll 196070, 221833, 154120 的跟踪并且/或者搜索Microsoft TechNet 上的其它和配置文件卸载相关的文章.

IEAK
The IExpress Deployment Kit ReadMe Text (IExpress部署工具说明文件)
Prfogen.exe
 
Citrix 文章
• CTX103187 - MetaFrame Password Manager ? Scalability and Performance Data
• CTX104115 - Password Agent 2.0 on MetaFrame XP Server causes roaming user profiles to not unload.
• CTX103180 - Using Profiles (Roaming, Mandatory, and Hybrid) with MetaFrame Password Manager
• CTX784678 - Opening Program Neighborhood client may cause roaming profile not to be unloaded
• CTX106533 - User Profiles are Created on XML Broker Servers
• CTX104215 - Error Creating Application Set: Your Pn.ini File May Have Reached the Allowable Size
• CTX394969 - Error: " No User Profiles Were Found" When Deleting a Profile
• CTX952561 - How to Modify NT Profiles with the Registry Editor
• CTX504530 - Windows Could not log you on Because the Profile Cannot Be Loaded
• CTX631606 - Disappearing Profile Path When using remote management utilities for Windows NT on Win95 or Windows NT Workstations
 
案例分析
问题定义
当使用NDS集成登录模式, 登录时间过长并在时间日志里有错误信息. ICA 回话看上去象是在“Applying your personal settings…” 对话框处挂起或停止 25 30 . RDP “workstation only” 的登录却不会这样.
环境
• MetaFrame Presentation Server 3.0
• Windows 2000 Service Pack 4
• Novell client 4.9 Service Pack 2
• ICA 8.00 and 8.10 Clients
解决方法
  1. - Troubleshooting Slow Logons(解决缓慢登录) 已被验证.
CDF 跟踪:
CTX104578 - Using Citrix Diagnostic Facility and the Access Suite Console for Tracing (使用CITRIX诊断工具和ACCESS SUITE CONSOLE的跟踪功能)被打开.
在跟踪文件中查找 “applying your personal settings.”
CDF 跟踪明确的显示了30秒的延时. 跟踪没有显示是CITRIX本身的原因而导致延时.
事件查看器在延时期间的错误:
事件日志错误指示出有一个更大的网络问题:
EventID 1000 Source: userenv
Windows cannot establish connection to [domainname] with error 10038(Windows 由于错误10038不能与[域名]建立连接)
EventID 1000 Source: userenv
Windows connect query the list of group policy objects. A message that describes the reason for this was previously logged by this policy engine
(Windows 连接查询组策略对象列表. 有一个消息描述这个问题的原因之前已被策略引擎纪录下来了)
Userenv debugging:
打开详细 userenv 调试:
1. 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon subkey
2. 创建一个新的DWORD , 名称为UserEnvDebugLevel
3. 把值设置为16进制值 0x10002.
日志被纪录到 %systemroot%\Debug\Usermode\Userenv.log
userenv 日志显示该30 秒延时并给出一个LDAP 错误.
USERENV 14:07:58:218 GetGPOInfo: ********************************
USERENV 14:07:58:218 GetGPOInfo: Entering...
USERENV 14:07:58:218 GetGPOInfo: Server connection established.
USERENV 14:08:28:218 GetGPOInfo: ldap_bind_s failed with = <85>
USERENV 14:08:28:218 GetGPOInfo: Leaving with 0
USERENV 14:08:28:218 GetGPOInfo: ********************************
USERENV 14:08:28:218 ProcessGPOs: GetGPOInfo failed.
USERENV 14:08:28:218 LeaveCriticalPolicySection: Critical section 0x41c has been released.
LDAP 错误代码:
利用 MSDN 查找ldap_bind_s 的返回代码:
LDAP_TIMEOUT 0x55 (decimal 85)
The search was aborted due to exceeding the limit of the client side timeout parameter.
(
搜索由于超出客户端的超时参数而中止.)
网络跟踪:
利用 userenv CDF 跟踪的时间印戳, 在网络跟踪里找到 LDAP 查询部分:
继续往下看, 一个 LDAP 事件看起来很奇怪. 过滤网络跟踪信息, 只显示LDAP , 找到一个 “unbindrequest” 信息:
LDAP UnbindRequest 有两个返回值: LDAP_SUCCESS 或者 LDAP 错误.
网络跟踪没有显示 ldap_unbind() 成功. userenv 日志里LDAP 错误代码 ldap_bind_s <85> 返回.
解决方案
使用Microsoft的各种工具, 例如resource kit 里的DCDIAG, 找到LDAP查询失败的原因是METAFRAME服务器所在活动目录的DNS复制错误

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册