标题说了算。我正在寻找一种方法来确定该可执行文件正在尝试访问哪个文件/注册表项。我尝试使用 Windows审核功能和Process Monitor来确定故障发生的位置,但是,此故障不会产生审核失败事件或在 Process Monitor 中显示为拒绝访问。
当然,如果有人经历过这种情况并且可以提供直接解决错误的解决方案,那将几乎一样好。
背景:
我正在使用 moveuser.exe,它是Windows Server 2003 资源工具包工具的一部分,用于转换多个 Windows XP 工作站上本地用户配置文件的安全性。
症状:
有时,moveuser.exe 将无法转换配置文件的安全性,并出现错误“错误:5 访问被拒绝”。我无法确定失败帐户或它们所在的计算机之间的任何共性。一台给定的计算机可能有 6 个主机配置文件,其中 5 个转换没有问题,1 个产生错误。
我确信有几个因素:
- 我用来运行 moveuser.exe 的帐户对本地计算机和配置文件安全性转换到的域具有完全的管理员权限。
- 失败与配置文件目录中的文件权限无关(整个目录可以移动、重命名、删除或通过变通方法成功转换)。
我已经为这些情况开发了一个可靠的解决方法,但是它相当复杂,我更愿意了解这个错误的根本原因并先发制人地纠正它。
我的解决方法(很高兴分享它,为了简洁而省略)似乎表明失败与 HKEY_LOCAL_MACHINE \ SOFTWARE\ Microsoft\ Windows NT \ CurrentVersion \ ProfileList 注册表项有关,但是我无法确定确切的方式/原因。