如何诊断Windows访问/权限错误

时间:2009-02-08 08:01:18

标签: windows permissions registry dns profile

标题说明了。我正在寻找一种方法来确定此可执行文件正在尝试访问哪个文件/注册表项。我曾尝试使用Windows auditing capabilitiesProcess Monitor来确定故障发生的位置,但此故障不会产生审核失败事件或在Process Monitor中显示为拒绝访问。

当然,如果有人遇到这种情况并且可以提供直接解决错误的解决方案,那就差不多了。

背景:

我正在使用moveuser.exe,它是Windows Server 2003 Resource Kit Tools的一部分,用于在多个Windows XP工作站上转换本地用户配置文件的安全性。

症状:

有时,moveuser.exe将无法转换配置文件的安全性,并显示错误“错误:5访问被拒绝”。我无法确定失败的帐户或它们所驻留的计算机之间的任何共性。给定的计算机可能有主机6个配置文件,其中5个没有问题转换,1个产生错误。

我可以肯定有几个因素:

- 我用来运行moveuser.exe的帐户,对本地计算机和要转换配置文件安全性的域具有完全管理员权限。

- 失败与配置文件目录中的文件权限无关(可以通过解决方法移动,重命名,删除或成功转换整个目录)。

我已经为这些案例开发了一个可靠的解决方法,但它相当复杂,我更愿意理解这个错误的根本原因并且先发制人地纠正它。

我的解决方法(很高兴分享它,为了简洁而遗漏)似乎表明失败与HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList注册表项有关但是,我无法确切地确定如何/为什么。< / p>

4 个答案:

答案 0 :(得分:0)

您是否尝试使用“regini”命令行工具获取管理员帐户的注册表权限?

答案 1 :(得分:0)

使用FileMon和RegMon(现在是Microsoft,以前的SysInternals,仍然免费)来监控正在访问的内容,方式以及请求的权限/访问权限。

我没有方便的网址,但谷歌搜索应该可以使用这些工具。

答案 2 :(得分:0)

我会尝试一些项目。首先,可能是用户已登录并且计算机尚未重新启动。 Microsoft有一个名为UPHClent的产品,它可以帮助卸载不需要的用户配置单元。

接下来我想知道的是,如果在运行moveuser可执行文件之前尝试重新启动。这个Conversation似乎表明这有助于解决这类错误。

答案 3 :(得分:0)

发布这两天后,我找到了问题的根源。事实证明,就像Rob Haupt建议与卡住的用户蜂巢有关。我运行的程序moveuser正在读取HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList\ <SID>\下的Refcount键并立即结束。

将Refcount设置为0立即解决了问题

UPHClean推送到所有目标计算机先发制人,几乎已经解决了问题,我们能够在上周成功转换数百台计算机上的配置文件。

关于UPHClean的一个重要说明:

我之前尝试过安装它,但似乎没有帮助。我太急躁了,UPHClean ReadMe透露该服务只需要时间来完成它的工作。