2

Часто мне нужно удалить все профили пользователей на компьютере, кроме двух учетных записей. Я хотел бы иметь сценарий, который может выполнить это для меня.

Скрипт должен работать для Windows 7.

Политика компании затрудняет загрузку и использование любых сторонних утилит, поэтому загрузка инструмента, способного выполнить задачу, не является приемлемой альтернативой.

В настоящее время у меня есть VBScript, который выполняет другие связанные функции, поэтому, если бы я мог сделать это в VBscript, это было бы здорово. Если есть способ сделать это прямо из командной строки Windows, это тоже работает, я могу просто вызвать это из моего VB-скрипта.

Я посмотрел в Интернете и не могу найти способ сделать это ни с помощью VBscript, ни с помощью утилиты microsoft cmdline, которая устанавливается по умолчанию в Windows 7.

Кто-нибудь знает, как я мог это сделать?

3 ответа3

3

Вы можете использовать WMIC.

wmic /node:localhost path win32_UserProfile where LocalPath="c:\\users\\user" Delete 2>>c:\windows\temp\wmic.err

Просто замените localhost на имя компьютера и замените "user" и конец локального пути на имя пользователя домена. Он не удалит профиль домена, только данные локального профиля. Он будет пытаться удалить всю папку профиля после удаления учетной записи, но иногда она будет оставлена позади, обычно пустой.

1

Вы можете использовать команду net для этого.

Для учетной записи пользователя del.

net user YourUsername /del

Для добавления.

net user YourUserName YourPassword /add

Для получения дополнительной информации читайте How to Use the Net User Command.


Для этого существует инструмент командной строки, который называется Delprof2(неофициальный преемник Microsoft 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 

0

Встроенная в Win 7 политика локального компьютера -> Конфигурация компьютера -> Административные шаблоны -> Система -> Профиль пользователя позволяет удалять профили через определенное время 60 дней, 30 дней и т.д.

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