我有专用的 Windows7(不在域上)虚拟机用于隔夜自动化测试。某些命令(mySQLdump、tscon.exe)必须在管理员帐户下运行。
上周管理员帐户的配置文件损坏了。我通过在注册表中重命名并以管理员身份登录来修复它。今天它又损坏了。
我仅使用管理员帐户通过 运行上述命令runas
。此外,计算机经常通过 cmd - 关机命令重新启动。特别是在自动化测试开始前的每个晚上。
我检查了电脑中是否有病毒 - 使用 avast 进行了全面扫描,尽管我相信电脑是干净的。
知道如何防止配置文件再次损坏吗?
更新
因此,事件日志中的第一个日志条目是今天凌晨 1:15,我的一个脚本runas
在凌晨 1:15 以管理员身份运行命令。这是测试开始后第二次执行 runas war。同样的事情连续第二天发生。在测试开始之前,我需要复制一个被锁定的文件。所以我运行handle.exe
来runas
解锁它。我认为这就是导致配置文件损坏的原因。我无法自己重现它。
来自的消息event viewer
是
Windows cannot load the locally stored profile. Possible causes of this error include insufficient security rights or a corrupt local profile.
DETAIL – The process cannot access the file because it is being used by another process.
答案1
损坏的配置文件是一种常见问题,但它仍然是一个问题;它是一个更大问题的征兆。它很“常见”,但并不“正常”。
另一方面,根据提供的事件日志条目,您的配置文件没有损坏,只是无法加载,因为在加载过程中它试图访问被另一个进程锁定的文件(如它所说的)。您必须确定该文件是什么,以及它被锁定的原因。
如果你怀疑这是你使用 Handle.exe 造成的,也许可以想出另一种方法来释放你需要复制的文件,而不是突然关闭句柄,因为这是非常不安全的。如果你看看使用信息对于处理它甚至会警告你“警告:关闭句柄可能会导致应用程序或系统不稳定。“。:)
答案2
我的用户配置文件多次被破坏,不得不重命名或创建新的用户配置文件才能使用计算机。事实证明,这种情况发生在计算机在运行 McAfee 病毒扫描时睡眠或关闭时。我已更改电源设置,使其永不睡眠或关闭,问题已消失。