Назад | Перейти на главную страницу

Сценарий локального входа для удаления папки текущего авторизованного пользователя

Как я могу создать сценарий входа, который будет удалять содержимое папки ниже каждый раз, когда пользователь выходит из системы? (У нас есть общий компьютер, который используют около десятка пользователей для определенной программы. Эта программа кэширует их учетные данные для входа в AD в каталоге ниже, что часто создает проблемы, когда их пароль AD сбрасывается. Решение состоит в том, чтобы очистить содержимое папки каждый время выхода пользователей из ПК).

C: \ Documents and Settings \% username% \ Application Data \ Identities *. *

Итак, я попытался создать сценарий с помощью команды del с переключателем / q. Но, протестировав его с ручным запуском сначала из командной строки, он никогда не работает, говорит, что каталог не может быть найден.

C: \ del / q C: \ Documents and Settings \% username% \ Application Data \ Identities *. *

Используйте powershell и создайте сценарий выхода из системы (лучше всего применять через gpo), который получает путь к профилю пользователя из HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\<User SID>\ProfilePath а затем удалите эту папку. Это сохранит вашу совместимость с XP до 8.

Вы можете посмотреть на владельца explorer.exe процесс из PowerShell, чтобы найти локально вошедшего в систему пользователя в то время. Пример конечно:

$LoggedOnUser = Get-WMIObject Win32_Process -filter 'name="explorer.exe"' -computername $MachineNameOrIP |
    ForEach-Object { $owner = $_.GetOwner(); '{0}\{1}' -f $owner.Domain, $owner.User } |
    Sort-Object | Get-Unique

В программе нет настройки не кэшировать? Что делать, если вы удалите или переименуете эту папку или ограничите доступ для записи к ней? Каким бы то ни было образом. чтобы упростить сценарий, попробуйте:

del / q / s "% appdata% \ Identities \ *. *"

Удалите c: \ из команды и заключите его в кавычки

del /q "C:\Documents and Settings\%username%\Application Data\Identities*.*"