我正在尝试以编程方式删除 Windows 帐户及其c:\Users
在windows 2008R2
.
我在程序中调用net user [user name] /delete
命令,但它不会删除 . 下的文件夹“用户名” c:\users
。该DelectFile
功能不起作用:错误代码为5
.
有没有办法解决它?
错误代码 5 表示“拒绝访问”。要修复它,请检查本地系统帐户是否有权删除该文件夹。您可以使用“cacls”从命令行执行此操作。默认情况下,LocalSystem 应该具有访问权限,作为 Administrators 组的成员,但可能已被删除。如果丢失,请先取得该文件夹的所有权。
另一个问题可能是该文件夹“正在使用”,即打开了句柄并设置了拒绝删除以进行共享。这更难解决。您可能需要先注销用户或等待然后重试。
你不能只 DeleteFile 一个目录。您必须显式地遍历目录的内容,删除每个文件并删除每个子目录。
此外,请注意,用户配置文件文件夹的名称并不总是与用户名相同。映射存储在某个地方的注册表中。