从旧配置文件传输数据后,新用户配置文件无法运行 explorer.exe 为什么?

0 windows-7 windows-explorer permissions user-profiles file-corruption

win7 64 Ultimate 上的用户配置文件已损坏(Windows 会在每次登录时创建默认的回退配置文件)。

我创建了一个新的配置文件(一个管理员)并将现有的配置文件传输到其中,如下所示:

http://windows.microsoft.com/en-CA/windows-vista/fix-a-corrupted-user-profile

一些奇怪的事情正在发生。新配置文件无法打开 explorer.exe

Windows 无法访问指定的设备、路径或文件。您可能没有访问该项目的适当权限。

Windows 无法访问指定的设备、路径或文件。您可能没有访问该项目的适当权限。我尝试了多种方法,包括确认 C:\Windows\Registration 上的权限:

http://www.tomshardware.com/forum/5218-63-cant-explorer#t170268

我注意到的是,如果我以不同的新管理员用户身份登录并打开 explorer.exe,然后以管理员身份登录问题浏览器将正常工作。

导致此行为的 explorer.exe 权限是什么?

我想要实现的是让问题帐户打开 explorer.exe 而不必先以其他用户身份登录。

任何人都知道如何解决这个问题?

提前致谢。

Pau*_*ams 9

我刚刚有这个问题。我也做了很多研究,甚至尝试了 C:\Windows\Registration 的东西,希望能快速修复。就我而言,这不起作用。

简答

  1. 打开注册表编辑器regedit.exe
  2. 扩张 HKEY_USERS
  3. 寻找S-1-5-21-##########-##########-##########_####_Classes# 代表随机数字序列的地方
  4. 右键单击此键并获取权限
  5. 就我而言,有一堆无意义的数字是无效的 SID。我删除了这个条目。
  6. 为遇到问题的用户添加安全性,并授予他们完全控制权。这为我解决了这个问题。

长答案

这是开始事件链发生的事情。这个故事稍后是相关的:

硬盘崩溃后,我为我的妻子重新创建了一个用户帐户。我以她的身份登录并验证它有效。

接下来,我从备份中恢复了用户配置文件及其数据。不幸的是,这也通过 Windows 帐户信息(NTUSER.DAT、ntuser.dat.LOG* 和 ntuser.ini)恢复。当我的妻子登录时,Windows 使用临时配置文件将她登录,并且在她注销后她的所有数据都被删除了。

后来,我将她的用户配置文件数据复制回了一个临时文件夹。我再次删除并重新创建了她的用户个人资料。在我以她的身份登录后,我退出并再次复制了她的文件。这一次,我确保不要复制 NTUSER 信息。

一切似乎都运行良好。我以她的身份登录,访问了她的数据,然后即将退出——除了我无法以她的身份启动资源管理器!我遇到了和你一样的错误:

Windows 无法访问指定的设备、路径或文件。您可能没有访问该项目的适当权限。

我也第二次恢复了她的 AppData 文件夹。不知道是不是这个问题。

在我的日常工作中,我在开发人员支持部门工作,所以我已经习惯了像这样疯狂的事情。我经常使用Process Monitor来帮助解决权限问题。我在我的帐户中启动 Process Monitor,同时捕获注册表和文件访问,切换到她的帐户,尝试打开资源管理器几次,然后注销。

当我以自己的身份重新登录时,Process Monitor 中有超过 110 万个事件。幸运的是,Process Monitor 可以快速轻松地过滤到您需要查看的内容。

我右键单击列,单击“选择列”,然后添加“用户”列。接下来,我在“用户”列中右键单击我的帐户并选择“排除 '[myaccount]'”。然后我转到结果列,单击结果“成功”,然后选择“排除'成功'”。我看到有一些“拒绝访问”结果,所以我右键单击其中一个并选择“包括‘拒绝访问’”。

现在,我在以下注册表项上有一个非常有趣的 ACCESS DENIED 错误列表:

HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes
HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_CLASSES\Local Settings\MuiCache
HKU\S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011\Software\Policies\Microsoft\SystemCertificates\CA
Run Code Online (Sandbox Code Playgroud)

(旁注:这些条目的进程监视器堆栈显示 explorer.exe 正在尝试执行某种加密操作,例如初始化安全性、验证证书的信任等。)

我打开了 regedit.exe(免责声明:如果您不知道自己在做什么,可能会发生非常糟糕的事情)。我向下导航到 HKEY_USERS,但我没有看到这个键。

我不得不再次切换用户并以我妻子的帐户登录。这一次,当我以她的身份启动 regedit.exe 并导航到 HKEY_USERS 时,我看到以下条目:

S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011  (BLAHBLAH = random numbers)
S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes
Run Code Online (Sandbox Code Playgroud)

我右键单击第一个条目并选择权限。列出的用户是:

  • 受限制的
  • 系统
  • 【老婆的账号】
  • 管理员

好的。这对我来说看起来不错。但我没有看到这个键上的错误。

最后,我右键单击有问题的条目“S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes”,然后选择“权限”。我看到了以下用户:

  • 受限制的
  • 系统
  • [可能是无效 SID 的无意义数字]
  • 管理员

这个奇怪的数字一定与她帐户的前身之一有关。我删除了它并将她的帐户添加为完全控制。立即,Explorer.exe 开始工作!疯狂的。

我希望这可以帮助您和/或其他遇到此问题的人。至少,您可以使用 Process Monitor 隔离问题。