Как можно удалить программу из учетной записи пользователя?

Пользователи установили различные программы в свои профили (например, Yandex Browser и CapCut), и сейчас возникает вопрос о их удалении. Были опробованы следующие методы: 

1. Создание скрипта, который запускается при входе пользователя в систему, и его распространение с помощью политик GPO на компьютерах с установленными программами. Идея заключалась в том, чтобы собрать компьютеры в отдельную группу и назначить логон-скрипт в политике. Эта политика была применена к организационной единице, где находятся все компьютеры, но в фильтре безопасности указана только нужная группа. После неудачи с этим подходом один тестовый компьютер был перенесен в отдельную организационную единицу, на которую была назначена политика без фильтров (в фильтре безопасности стояло "прошедшие проверку").

2. Создание задачи в планировщике заданий для выполнения команды при входе пользователя на компьютер. Однако после распространения задачи она выполняется от имени компьютера, а не пользователя.

3. Попытка удаления программы через PSSession, которая не увенчалась успехом, так как все процессы запускаются от имени администратора, подключившегося через сессию.

4. Удаление программы с помощью команды Get-Package | Uninstall-Package, но она не отображается в списке установленных.

Что еще можно попробовать? Ситуация доходит до абсурдных идей, включая попытку перехвата сеанса активного пользователя в PowerShell (не совсем понятно, возможно ли это и, если да, то как это реализовать).
  • 3 апреля 2025 г. 5:55
Ответы на вопрос 1
Удаление программ из учетных записей пользователей может быть сложной задачей, особенно если у вас нет прямого доступа к их сессиям. Однако есть несколько подходов, которые вы можете рассмотреть, помимо тех, которые вы уже описали. Вот некоторые идеи:

1. **Удаление через инсталлятор программ**: Если программы, которые вы хотите удалить, были установлены через стандартный инсталлятор Windows (например, MSI), вы можете попробовать использовать его для удаления. Если вы знаете путь к инсталлятору, вы можете запустить команду на удаление от имени администратора:
   ```
   msiexec /x {ProductCode} /quiet
   ```
   Вы можете получить ProductCode с помощью команды `Get-WmiObject -Query "SELECT * FROM Win32_Product"`.

2. **Запуск скрипта от имени пользователя**: Используйте `PsExec` или `RunAs` для выполнения скрипта от имени пользователя. Это позволит вам запускать команды от имени конкретного пользователя, например:
   ```
   psexec -u имя_пользователя -p пароль cmd.exe /c "C:\путь\к\скрипту.bat"
   ```

3. **Использование Sysinternals**: Утилиты Sysinternals (например, PsExec, PsKill) могут помочь вам удалять программы, контролируя процессы.

4. **Использование Group Policy Preferences**: Вы можете попробовать настроить удаление программ через Group Policy Preferences, в которых можно задать параметр удаления программ.

5. **Удаление через PowerShell с использованием `Get-WmiObject`**: Попробуйте следующее, чтобы получить список установленных программ и удалить их с правами пользователя:
   ```powershell
   $appName = "Имя программы"
   $app = Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name = '$appName'"
   $app.Uninstall()
   ```

6. **Использование WMI**: Если программы поддерживают WMI, вы можете попробовать удалить программы через WMI:
   ```powershell
   Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -eq "Имя программы" } | ForEach-Object { $_.Uninstall() }
   ```

7. **Использование утилит сторонних производителей**: Рассмотрите возможность использования программ, таких как CCleaner, Revo Uninstaller и других, которые могут помочь в удалении программ и очистке остатков.

8. **Учетные записи администратора**: Если у вас есть доступ к учетным записям администратора, вы можете временно добавить учетные записи пользователей в локальную группу администраторов, выполнить удаление программы и затем вернуть настройки обратно.

9. **Скрипт на уровне OS**: Создайте логон-скрипт, который удаляет программы, и убедитесь, что он выполняется в контексте пользователя с необходимыми правами.

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