删除windows账户时如何删除c:\users下的用户账户文件夹?
Posted
技术标签:
【中文标题】删除windows账户时如何删除c:\\users下的用户账户文件夹?【英文标题】:How can the folder of a user account under c:\users be delete when delete windows account?删除windows账户时如何删除c:\users下的用户账户文件夹? 【发布时间】:2012-08-30 14:27:49 【问题描述】:我正在尝试以编程方式删除 Windows 帐户及其在 c:\Users
下 windows 2008R2
下的相应文件夹。
我在程序中调用net user [user name] /delete
命令,但它不会删除c:\users
下的文件夹“用户名”。 DelectFile
函数不起作用:错误代码为 5
。
有办法解决吗?
【问题讨论】:
您是否尝试过使用 shell 执行“del /s C:\Users\whatever”? 5 是 access denied 所以运行 deletefile 的用户缺少足够的权限 @AlexK.:在这种情况下,拒绝访问消息是因为不允许您对目录执行某些特定于文件的操作(包括 DeleteFile)。 【参考方案1】:你不能只删除一个目录。您必须显式地遍历目录的内容,删除每个文件并移除每个子目录。
另外,请注意,用户配置文件文件夹的名称并不总是与用户名相同。映射存储在某个地方的注册表中。
【讨论】:
看起来 DeleteFile 只适用于“文件”或空的“目录”。现在我改用“SHFileOperation”,它可以工作了。【参考方案2】:错误代码 5 表示“访问被拒绝”。要修复它,请检查本地系统帐户是否有权删除该文件夹。您可以使用“cacls”从命令行执行此操作。默认情况下,LocalSystem 应该具有访问权限,作为 Administrators 组的成员,但可能已被删除。如果丢失,请先取得该文件夹的所有权。
另一个问题可能是文件夹“正在使用”,即打开了句柄并设置了拒绝删除以进行共享。这更难解决。您可能需要先注销用户或等待然后重试。
【讨论】:
在这种情况下,出现“拒绝访问”是因为不允许您对目录执行某些特定于文件的操作(包括 DeleteFile)。 是的,你说的很对。心理提示:不要在凌晨 1 点回答 Stack Overflow 问题。你错过了简单的东西。 谢谢。 Microsoft 在 Directory 上提供了一些特定的功能。我将应用程序作为系统服务(LocalSystem 帐户)运行。以上是关于删除windows账户时如何删除c:\users下的用户账户文件夹?的主要内容,如果未能解决你的问题,请参考以下文章