Я работаю в компании, которая оказывает чистую поддержку 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 ответ1

1

Есть ли скрипт, который может удалить все профили и все сетевые папки?

Вы можете использовать wmic useraccount get name для получения списка имен пользователей и for /f для обработки списка.

Предупреждение:

  • Пожалуйста, внимательно прочитайте следующий скрипт. Я считаю, что это именно то, что вы просите.
  • Не проверено, так как я не хочу удалять локальных пользователей на моем ноутбуке.
  • Если вы удовлетворены результатом, удалите соответствующие команды echo и снова запустите скрипт.

DeleteUsers.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>

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .