使用 Windows 7 SR1

使用 Windows 7 SR1

我在一家为 20 所不同学校提供网络支持的公司工作。在处理账户时,我可能一天内将我的“测试”计算机登录到 10 个不同的域中。

几天后,登录时间从 30 秒缩短到 5 分钟。

然后,如果我通过右键单击计算机、属性、高级系统设置、用户配置文件设置来清除所有配置文件,然后逐个删除。

然后清除他们的 c:\user\jdoe 文件夹。

是否有一个脚本可以删除所有配置文件和所有网络文件夹?

喜欢:

net user * /delete

或者

for %%a in (***) do (
   net  user  %%a  /del
   rd  /s  /q  "C:\UserProfiles\%%a"
)

但我需要***为每个用户进行替换。

答案1

是否有一个脚本可以删除所有配置文件和所有网络文件夹?

您可以使用它wmic useraccount get name来获取用户名列表并for /f处理该列表。

警告

  • 请仔细阅读以下脚本。我相信它确实满足了您的要求。
  • 没有测试,因为我不想删除笔记本电脑上的本地用户。
  • 如果您对输出满意,请删除适当的echo命令并再次运行脚本。

删除用户.cmd:

@echo off
setlocal 
rem skip first line
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1" %%i in (`wmic useraccount get name ^| findstr /r /v "^$"`) do (
  echo net user %%i /del
  echo rd /s /q "C:\Users\%%i"
  )
endlocal

示例输出:

F:\test>wmic useraccount get name
Name
Administrator
DavidPostill
Guest
ntp


F:\test>deleteusers
net user Administrator /del
rd /s /q "C:\Users\Administrator"
net user DavidPostill /del
rd /s /q "C:\Users\DavidPostill"
net user Guest /del
rd /s /q "C:\Users\Guest"
net user ntp /del
rd /s /q "C:\Users\ntp"

F:\test>

进一步阅读

相关内容