我经常需要删除计算机上除两个帐户之外的所有用户配置文件。我希望有一个脚本可以帮我执行此操作。
该脚本必须适用于 Windows 7。
公司政策使得下载和使用任何第三方实用程序变得困难,因此下载可以完成任务的工具不是一个可接受的替代方案。
目前我有一个执行其他相关功能的 vbscript,所以如果我能在 VBscript 中做到这一点就太好了。如果有办法直接从 Windows 命令行执行此操作,那也可以,我可以从我的 VB 脚本中调用它。
我在网上查找过,但无法找到使用 VBscript 或 Windows 7 上默认安装的 Microsoft cmdline 实用程序执行此操作的方法。
有谁知道我该如何做到这一点?
答案1
我想为其他可能希望在 Windows 10 中解决此问题的人提供一些更新的解决方案
看到微软更喜欢 CIM 而不是 WMI,并且 win32_UserProfile 对象的 Delete() 方法被隐藏,人们可能会认为@user318485 发布的方法可能会被删除或弃用。
以编程方式删除用户配置文件的更现代方法是使用 PowerShell
Get-CimInstance -ClassName win32_UserProfile | Where-Object {$_.LocalPath -like "*username*"} | Remove-CimInstance
答案2
您可以使用 WMIC。
wmic /node:localhost path win32_UserProfile where LocalPath="c:\\users\\user" Delete 2>>c:\windows\temp\wmic.err
只需将 localhost 替换为计算机名称,并将“用户”和本地路径的末尾替换为域用户名。它不会删除域配置文件,只会删除本地配置文件数据。它会在删除帐户后尝试删除整个配置文件文件夹,但有时会留下,通常是空的。
答案3
您可以使用该net
命令来实现这一点。
用于删除用户帐户。
net user YourUsername /del
对于添加。
net user YourUserName YourPassword /add
欲了解更多信息,请阅读How to Use the Net User Command
。
有一个命令行工具可以执行此操作,调用Delprof2
(微软的非官方继任者Delprof
)。
用法:delprof2 [/l] [/u] [/q] [/p] [/r] [/c:[\\]<computername>] [/d:<days> [/ntuserini]] [/ed:<pattern>] [/id:<pattern>] [/i]
/l List only, do not delete (what-if mode)
/u Unattended (no confirmation)
/q Quiet (no output and no confirmation)
/p Prompt for confirmation before deleting each profile
/r Delete local caches of roaming profiles only, not local profiles
/c Delete on remote computer instead of local machine
/d Delete only profiles not used in x days
/ntuserini
When determining profile age for /d, use the file NTUSER.INI
instead of NTUSER.DAT for age calculation
/ed Exclude profile directories whose name matches this pattern
Wildcard characters * and ? can be used in the pattern
May be used more than once and can be combined with /id
/id Include only profile directories whose name matches this pattern
Wildcard characters * and ? can be used in the pattern
May be used more than once and can be combined with /ed
/i Ignore errors, continue deleting
Delprof2 实际运行的示例,远程删除用户配置文件。
delprof2.exe -c:192.168.175.129 -p
答案4
Win 7 内置本地计算机策略->计算机配置->管理模板->系统->用户配置文件启用在一定时间(60 天、30 天等)后删除配置文件。